一、元组
t1 = (1, 2)
t2 = tuple((1, 2))
t3 = (1, )
# 索引 | 切片 | 长度
# .count(obj) | .index(obj, bIndex, eIndex)
# 有序存储 | 可存放多个数据 | 不可变(内部可以包含可变对象,可变对象已久可变)
# 应用场景:将不允许操作的列表可以转化为元组,将允许操作的元组转化为列表
二、字典

# 定义
d1 = {'a': 10, 'b': 20}
# 无序,存放多个值,可变 => 通过key取值
d1['a']
# 增删改查
d1[key] = value: key存在就是改,不存在就是增
d1[key]: 取,如果key存在就报错,所以用get(key, defalut)
update({'a': 100, 'c': 300}): key有更新,无新增
pop(key): 根据key删且返回对应value
# key存在,不操作,不存在设置key=default
setDefault(key, default)
View Code
三、set
'''
1.定义
s1 = set()
s2 = set({1, 2, 3})
2.重点:数据具有唯一性
# i) 单列数据集合:str,list,tuple,set 双列:dict
# ii) 无序存储:无key无index,无法取值
# iii) 可变数据类型,内部可以存放任意类型数据,但数据具有唯一性
3.运算
p_set = {'a', 'b', 'c', 'egon'}
l_set = {'x', 'y', 'z', 'egon'}
# 交集 &
res = p_set & l_set
print(res)
res = p_set.intersection(l_set)
print(res) # {'egon'}
# 并集
res = p_set | l_set
print(res)
res = p_set.union(l_set)
print(res) # {'z', 'c', 'y', 'x', 'b', 'a', 'egon'}
# 差集
res = p_set - l_set
print(res) # {'a', 'b', 'c'}
res = l_set.difference(p_set)
print(res) # {'x', 'z', 'y'}
# 对称差集
res = p_set ^ l_set
print(res)
res = p_set.symmetric_difference(l_set)
print(res) # {'y', 'a', 'b', 'x', 'z', 'c'}
'''
'''
了解:
sup_set = {1, 2, 3, 4, 5}
sub_set = {1, 2, 3}
temp_set = {3, 2, 1}
flag_set = {7, 8, 9}
print(sup_set > sub_set) # True
print(sup_set < sub_set) # False
print(temp_set == sub_set) # True
# 两个set是否没有交集
res = flag_set.isdisjoint(temp_set) # True
'''