#创建集合
set1 = {1, 2, 3, 3, 3,2}
print(set1) #{1, 2, 3}
print(len(set1)) #3
#创建集合的构造器语法
set2 = set('hello')
print(set2)
#将列表转换为集合
set3 = set([1, 2, 3, 3, 2, 1])
print(set3)
#创建集合的生成式语法(将列表生成式的[]换成{})
set4 = {num for num in range(1, 20) if num % 3 == 0 or num % 5 == 0}
print(set4)
#集合元素的循环遍历
for elem in set4:
print(elem)
set1 = {11, 12, 13, 14, 15}
print(10 in set1) #false
print(15 in set1) #true
set2 = {'python', 'java', 'go', 'swift'}
print('ruby' in set2) #false
print('java' in set2) # true
set1 = {1, 2, 3, 4, 5, 6, 7}
set2 = {2, 4, 6, 8, 10}
#交集
print(set1 & set2)
print(set1.intersection(set2))
#并集
print(set1 | set2)
print(set1.union(set2))
#差集
print(set1 - set2)
print(set1.difference(set2))
#对称差
print(set1 ^ set2)
print(set1.symmetric_difference(set2))
print((set1 | set2) - (set1 & set2))
#可以复合运算 }|= &=
# < 运算符表示真子集 <= 运算符表示子集
#通过issubset 方法也能进行子集判断
#反过来可以用issuperset 或 > 运算符进行超集判断
#创建空集合
set1 = set()
#添加元素
set1.add(33)
set1.add(55)
set1.update({1, 10, 100, 1000})
print(set1)
#通过discard方法删除指定元素
set1.discard(100)
set1.discard(99)
print(set1)
#通过remove方法删除指定元素,先做成员运算再删除
if 10 in set1:
set1.remove(10)
print(set1)
#pop方法可以从集合中随机删除一个元素并返回该元素
print(set1.pop())
#clear 清空
set1.clear()
print(set1)
#判断有无相同元素 用 isdisjoint 没有返回true
set1 = {'Java', 'Python', 'Go', 'Kotlin'}
set2 = {'Kotlin', 'Swift', 'Java', 'Objective-C', 'Dart'}
set3 = {'HTML', 'CSS', 'JavaScript'}
print(set1.isdisjoint(set2))
print(set1.isdisjoint(set3))
#不可变集合 类似 list 和 tuple的区别
set1 = frozenset({1, 3, 5, 7})
set2 = frozenset(range(1, 6))
print(set1 & set2)
print(set1 | set2)
print(set1 - set2)
print(set1 > set2)
python 集合
最新推荐文章于 2022-10-09 07:00:00 发布