python 集合

#创建集合
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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值