python-内置数据结构
Python内置数据结构:列表、元组、字符串、字典、集合
可变对象:定义以后可以修改
- 列表list
- 字典dict
不可变对象:定以后不能修改,但是可以覆盖
- 数值型:如整型int,浮点数float。。。
- 字符串str
- 元组tuple
- 空None
数据结构基本问题:增删改查、切片排序(有序,可修改)、时间复杂度(略)、空间复杂度(略)
一、列表:
列表是可变序列:元素可以修改、元素有先后顺序。列表的一个元素就是一个列表
增:
list.append(x)
list.extend(x)
list.insert(i,x)
删:
list.remove(x)
list.pop(i)
list.clear()
改:
list.reverse()
list[i]=x
查:
list.index(x[,start[,end]])
list.count(x)
切片:
list[i:j]
二、元组:
类似列表,元素不可修改,元素用(...),列表用[...],当元组中只有一个元素时,需要在元素后面添加逗号,如tuple1=(50,);
删:
del tup
改:
元素不可修改,tup3=tup1+tup2
查(访问):如tup[0]、tup[-1]
索引、切片:tup[1:]
三、字符串str
不可变类型,python没有单个字符一说,都是字符串
查(访问):
如s[0]、s[2:5]
改:
s3=s1+s2
字符串可以做转义字符:
字符串有很多内置函数,常用的如:
四、字典(可变类型):
1、字典用{...}包裹
2、字典中的键必须是唯一的,但是值可随意
3、值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。
增:
dict1['age'] = 28
删:del dict1['name']
dict1.clear()
del dict1
改:dict1['age'] = 8
访问:dict1['age']
字典常用内置函数:
五、集合(不可变类型)
集合不支持索引
集合常用内置函数:
推导式
列表推导式:a = [x for x in range(10) if x%2 == 0] 集合推导式:b = {x for x in range(10) if x %2==0} 字典推导式:c = {x:x**2 for x in range(10) if x%2==0} 生成器: d = (x for x in range(10) if x %2==0)