目录
(1)变量名={元素1,元素2,元素3,......................}
True会转换成数字 1 进行比较,False会转换成 0进行比较
1.集合的格式
(1)变量名={元素1,元素2,元素3,......................}
set1 = {1, True, 'hello'} # 集合是无序的
print(set1)
set1 = {1, True, 'hello world python', False, 0} # True会转换成数字 1 进行比较,False会转换成数字 0 进行比较
print(set1)
(2)变量名=set(可迭代内容)
s = 'hello'
set1 = set(s)
print(set1) # {'l', 'o', 'e', 'h'}
lst = [1, 2, 3]
set1 = set(lst)
print(set1) # {1, 2, 3}
tup = (1, 2, 3)
set1 = set(tup)
print(set1) # {1, 2, 3}
dic = {'name': 'zs', 'age': 10}
set1 = set(dic)
print(set1) # {'age', 'name'}
可迭代内容:字符串,列表 元组,字典
‘ ’ [ ] ( ) { }
注意:
-
True会转换成数字 1 进行比较,False会转换成 0进行比较
-
集合是无序的
-
集合可以去重
2.创建一个空集合 set()
使用set()内置函数
set1 = set()
print(type(set1)) # <class 'set'>
set1 = {}
print(set1)
print(type(set1)) # <class 'dict'>
3.集合的增删改查
(1)增加操作
add() | 随机添加 |
update() |
set1 = {'悟空', '八戒'}
print(set1) # {'悟空', '八戒'}
set1.add('唐三藏')
print(set1) # {'唐三藏', '悟空', '八戒'}
set2 = {'悟空', '白骨精'}
set1.update(set2)
print(set1) # {'悟空', '白骨精', '唐三藏', '八戒'}
(2)删除操作
pop() | 随机删除一个元素 |
remove() | 删除指定内容 |
clear() | 清空集合中的所有内容 |
del | 把集合从内存中直接删除 |
# pop() 随机删除一个元素
# remove() 删除指定元素
# clear() 清除指定元素
# del 把集合从内存上直接删除,计算机会报错
set1 = {'悟空', '八戒', '唐三藏'}
print(set1) # {'八戒', '悟空', '唐三藏'}
set1.pop()
print(set1) # {'悟空', '唐三藏'}
set1.remove('悟空')
print(set1) # {'唐三藏'}
set1.clear()
print(set1) # set()
# del set1
# print(set1)#计算机会报错
4.集合的遍历
for循环来实现
set1 = {'悟空', '八戒', '唐三藏', '白骨精'}
for i in set1:
print(i)
# 唐三藏
# 悟空
# 白骨精
# 八戒
5.集合的关系测试
关系测试 | 符号 | 方法 | 解释 |
交集 | & | intersection() | 获取两个集合的公共部分 |
反交集 | ^ | symmetric_difference() | 获取两个集合除去公共部分以外的其余部分 |
并集 | | | union() | 获取两个集合的全部内容 |
差集 | - | difference(0 | |
子集 | < | issubset() | 判断 |
超集 | > | issuperset() | 判断 |
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
print(set1 & set2) # {3, 4}
print(set1.intersection(set2)) # {3, 4}
print(set1 ^ set2) # {1, 2, 5, 6}
print(set1.symmetric_difference(set2)) # {1, 2, 5, 6}
print(set1 | set2) # {1, 2, 3, 4, 5, 6}
print(set1.union(set2)) # {1, 2, 3, 4, 5, 6}
print(set1 - set2) # {1, 2}
print(set1.difference(set2)) # {1, 2}
print(set2 - set1) # {5, 6}
print(set2.difference(set1)) # {5, 6}
print(set1 < set2) # False 判断set1是不是set2的子集
print(set1.issubset(set2)) # False 判断set1是不是set2的子集
print(set2 < set1) # False 判断set2是不是set1的子集
print(set2.issubset(set1)) # False 判断set2是不是set1的子集
print(set1 > set2) # False 判断set1是不是set2的超集
print(set1.issuperset(set2)) # False 判断set1是不是set2的超集
print(set2 > set1) # False 判断set2是不是set1的超集
print(set2.issuperset(set1)) # False 判断set2是不是set1的超集
6.int() bool() 类型转换
bool1 = True
num1 = int(bool1)
print(num1) # 1 True------>1
bool1 = False
num1 = int(bool1)
print(num1) # 0 False------->0
num1 = 10
bool1 = bool(num1)
print(bool1)
num1 = 0 # True 除0以外的全部数字------->True
bool1 = bool(num1)
print(bool1) # False 0--------->False
7.枚举 enumerate
lst = ['a', 'b', 'c']
for i in enumerate(lst, start=5):
print(i)
# (5, 'a')
# (6, 'b')
# (7, 'c')