1. list\tuple\dict\set
d={}
l=[]
t=()
s=set()
print(type(l))
print(type(d))
print(type(t))
print(type(s))
2. set 的操作
交集:set1 & set2 (set1.intersection(set2))两个set的共有元素
并集: set1 | set2 (set1.union(set2))两个set的元素相加后去重
差集:set1 - set2 (set1.difference(set2)) 集合set1去除和和集合set2相同的部分
对称差集:set1^set2 (set1.symmetric_difference(set2))项在set1或set2中,但不会同时出现在二者中
操作:key in set1; key not in set1 ;for key in set1;
set1.issubset(set2)等价于set1<=set2 : 测试set1中的每一个元素是否都在set2中
set1.issuperset(set2)等价于set1>=set2 : 测试set2中的每一个元素是否都在set1中
s.copy() 返回 set “s”的一个浅复制
3.差别
类型 | 新建 | 添加 | 删除位置 | 位置赋值 | 取值 | 函数 |
list | l=[] | l.insert(1,'b2')/l.append('b1') | l.pop(1)/l.remove('b1') | l[1]='b33' | l[1] | len()、append()、remove()移除列表中某个值的第一个匹配项、insert()、pop()、sort()、del、list()、reverse()、index()从列表中找出某个值第一个匹配项的索引位置、count()统计某个元素在列表中出现的次数、extend()在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
tuple | t=(1,2) | 理论上不能追加, 但是可以跑(1, 2, 3) + (4, 5, 6)、 ('Hi!',) * 4 | 不能删除 | tuple不可变,但是它里面的list、dict、set是可以变的 | t[0] | len()、del 删除整个元祖、tuple()把列表转换为元祖 |
dict | d={} | d['Jim']=22 | pop('Tracy') / del d['Jim'] | d['Michael']=100 | d['Michael'] 'Tracy' in d d.get('Tracy') d.get('Tracy', value) 如果key不存在,返回自己指定的value | len()、get()、pop()、del、has_key()、items()、keys()、values()、update() |
set | s=set() | add(key)、update();区别 s.add('boy'):set(['boy',1,2,3]); s.update('boy'):set(['boy','b',1,2,3,'o','y']); s.update([23,22,32])添加多项 | remove(key)删除指定位置的元素,如果不存在,引发KeyError; pop()删除并且返回集合“s”中的一个不确定的元素, 如果为空则引发 KeyError; clear()删除所有元素;s.discard(x),如果在 set “s”中存在元素 x, 则删除 | pop()、add()、remove()、update()、len()、clear()、discard() |