立即学习:https://edu.csdn.net/course/play/28064/383863?utm_source=blogtoedu
Tuple(元组):特殊的常量
一经定义无法修改,元素指向不变
如果元祖中的元素只有一个要写成(1,)
t = ('a','b','c')
l = ['A','B'] # l 只是引用列表中的数据
t = ('a','b',l) # 2处存放的是引用
t[2][0] = 'C'
# t 变成了 ('a','b',['C','B']) 这里可以被修改
t 保证自己的元素不被修改
l 1= ['A','B']
t2 = l1 # 报错,不可修改引用,可修改引用中的数据
Dictionary{字典}: 无序集合对象 键值对 key-value
key最好用不可变对象(字符串,数字)
字典的查找,插入速度极快,不随键值对的数量变化;需要占用大量内存
列表东西多时,查找,插入的速度很慢,占内存小
names = ['yh','xiaohong ','xiaoming']
scores = [90,79,87]
d = {'yh':90,'xiaohong':79,'xiaoming':87}
d['xiaohong'] # 79
d['xiaogou'] = 34 # 默认放到字典中的最后
d['xiaogou'] # 取出对应的值 34
d['xiaogou'] = 34 # 覆盖了原来的值
# 覆盖前先判断下键是否在字典中
'Thomas' in d # False
d.get('Thomas',-1) # 若无此键打印出-1
d.pop('xiaogou') # 删除键值对
Set (集合)无序不重复元素的序列 没有重复的key
常使用在去重和集合运算中
{value1,value2,value3,...} 或者 set(value)
s = set([1,2,3]) # 将s初始化成一个set集合 需要一个list作为输入 打印出来是:{1,2,3}
s = set([1,1,2,2,2,3]) # 会过滤重复的值,打印结果同上
s.add(4) # 添加
s.remove(4) # 移除
对两个set做数学意义上的交集,并集运算
s 1= set([1,2,3])
s 2= set([2,3,4])
s1&s2 # 求交集 {2,3}
s1|s2 # 求并集{1,2,3,4}