一.list
增:append()末尾添加一个元素 insert()按索引插入 extend()添加列表
删:del 通过索引删除某个值 remove() 根据元素删 pop()根据索引删且有返回值
改:list1[3] = 666 直接改
查:根据索引查
切片 长度 len(l) 成员运算:in 和 not in for循环 count("a")统计a的个数
清除列表 l.clear() 查某个值的索引 l.index("aaa") 反转列表 l.reverse()
l.sort() 默认从小到大 reverse=True设置为降序
二.tuple(是一个不可变的列表)
按照索引/位置存放多个值,只用于读不用于改
按索引取值 切片 长度 成员运算(in 和 not in) for循环
t.index("aa")查aa的索引 t.count("aa")统计aa有几
三、字典
1.按key存取值
针对赋值:key存在,修改
key不存在,添加
2.len()统计元素个数
len(d)
3.成员运算 in 和 not in:根据值
print('k1' in d)
4.删除
del d['k1']
d.pop('k1') 根据key,如果返回,返回删除对应的那个key的值
d.popitem() 随机删,返回一个元组,组里放刚刚删的那个key,value
5.键:key() 值:values() 键值:items()
6.for循环
7.clear() 清除字典
8.update() 更新字典
如果存在,就更新值,不存在,添加
9.get('k1') 取值
存在得到值,不存在None
10.setdefault() 如果存在,就不做,不存在就添加
四、集合(无序,去重,不可变)
删:s.discard(3) 删除元素不存在不会报错
s.remove(3) 删除元素不存在报错
s.update(s1) 更新集合
取交集:两者共同的好友 s1 & s2 s1.intersection(s2)
取并集:两者所有的好友 s1 | s2 s1.union(s2)
取差集:s1 - s2 s1.difference(s2)
对称差集:去掉共有的好友 s1 ^ s2 s1.symmetric_difference(s2)
父子集:包含的关系 s1 > s2 or s1 == s2
s1.issuperset(s2) s1.issubset(s2)
长度:len(s) 成员运算:'aa' in s 循环 for
s1.difference_update(s2) 等同于 s = s1.difference(s2)
两个集合完全独立返回True s1.isdisjoint(s2)
五、队列和堆栈
1.队列:first in first out 先进先出(FIFO)
l = []
l.append(1)
l.append(2)
l.append(3)
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
2.堆栈:last in first out 后进先出(LIFO)
l = []
l.append(1)
l.append(2)
l.append(3)
print(l.pop())
print(l.pop())
print(l.pop())
六、总结
1.有序和无序
有序:字符串,列表,元组
无序:字典,集合
2.可变和不可变
可变:列表,字典,集合
不可变:元组