目录
数据类型列表元组集合字典数据类型
列表
列表(动态数组)
定义空列表[ ]
list()可以将其他序列转为列表 如:str类型
列表和字符串一样接收索引与切片
list[索引:切片:步长]
list = [“a”,“b”,“c”,“d”]
list[0:4]#>>>['a', 'b', 'c', 'd']
list[-4:0]切片不要写0,前面只是好说明
list[-4:]#>>>['a', 'b', 'c', 'd']list[-4:4]#>>>['a', 'b', 'c', 'd']list[:]#>>>['a', 'b', 'c', 'd']
list 加 “ : ”是截取该范围的列表,不然就是单个元素的读取
**
快速产生100以内的偶数列表
[i for i in range(100) if i%2==0]
这是列表推导式
[i的函数式 i的范围 判断式]
快速产生100以内的奇数数列表
[i+1 for i in range(100) if i%2==0]
[i for i in range(100) if i%2 !=0]
二者输出一样
list的操作函数
len()list()max()min()sorted()
list的常用方法
list.append()list.clear()list.copy()#其和赋值可不一样list.count()list.extend()#和append()不一样list.index()list.insert()list.pop()list.remove()list.reverse()list.sort()
元组
可以看成不可改变的列表
元组可以完成的功能列表也可以完成
多用于数据安全的角度
如果元组类只有一个元素就要在其后打逗号“,” eg:tup2 = (3,)
tuples(list),可以将列表转元组
元组元素不可以删除,但可以用del删除整个列表
list的操作函数除list()外其余都可以使用
tuple的操作函数
len()max()min()sorted()
集合
集合是无序的
用{}和set()创建集合
用set()创建空的集合
不要用{}创造集合,{}是字典
seta = {1,2,3}setb = {}setc = set()print("seta为{}".format(type(seta)))print("setb为{}".format(type(setb)))print("setc为{}".format(type(setc)))>>>seta为<class 'set'>setb为<class 'dict'>setc为<class 'set'>
集合方法
seta.add(b)#seta中增加元素bseta.clear()#清除seta中所有元素seta.copy()#复制seta,并返回seta.difference(setb)#返回seta-setbseta.discard(b)#在seta中删除a元素,没有就放弃seta.intersection(setb)#返回seta与setb中的交集seta.isdisjoint(setb)#判断seta与setb有无共有元素,返回True或Falseseta.issubset(setb)#判断seta是不是setb的子集seta.issuperset(setb)#判断seta是不是setb的超集seta.remove(b)#移除seta中的元素b,若seta中没有b就,抛出异常seta.symmertric_difference(setb)#就是将原来二者共有的元素去除在返回seta和setb的并集seta.union(setb)#返回seta和setb的并集seta.update(setb)#给seta,添加元素setb
字典
不靠索引来访问元素,靠key值
key唯一,value不唯一
字典方法
dict_a.clear()
删除dict_a中的所有元素
dict_a.copy()
dict_a.fromkeys(b)
返回由b序列(set,str,list,dict)中的元素为key的字典
dict_a.get(a,b)
返回在dict_a的key中查找a,找到返回key_a所对应的值,没有就返回b
dict_a.items()
也列表的形式返回可遍历的(键,值)列表
dict_a.keys()
返回dict_a中所有key
dict_a.update(dict_b)
合并字典
dict_a.values()
返回dict_a中所有values
dict_a.pop(b)
将dict_a中以b为key的项删除
返回key_b所对应的值
dict_a.has_key(b)
判断dict_a中有无键b
返回True or False