set

1、集合的创建

# 1、集合的创建
s = set('jiangqijun') #{'u', 'g', 'q', 'a', 'n', 'j', 'i'}
l = ['1', '2', '3']
s2 = set(l)

# # 2、集合转换为列表
# print(list(s2))
#
# # 3、集合的元素必须是可hash的(元素是不可变类型)
# s3 = set([[1,2], 3, 4]) #TypeError: unhashable type: 'list'
#
# # 4、可变集合与不可变集合,可变集合不能作为字典的键,原因是本身是不可hash的
# d = {s3:'2'} #报错 TypeError: unhashable type: 'list'

# 5、set是无序的只能通过for循环来访问或者iterator访问,in /not in
print(1 in s2)
print('1' in s2)

# 6、set添加add() update() remove()
# s2.add(0)  #作为单个元素添加
# print(s2)
# s2.update('wp') #更新添加进入保留原来的增加新内容,作为一个序列来添加
# s2.update(['jiang', 12]) #把每个元素添加到集合里边去
# print(s2)
s2.remove('1') # 将1这个元素移除
print(s2)
s2.pop() # 随机移除一个元素
print(s2)
s2.clear() #将集合清空
print(s2)


#7、关系测试 交集 并集 差集

a = set([1, 6, 8, 10, 12])
b = set([0, 6, 8, 11])

#intersection取交集 等于&
print(a.intersection(b))   #{8, 6}
print(a&b)

#union 取并集 等于|
print(a.union(b))  #{0, 1, 6, 8, 10, 11, 12}
print(a|b)

#取差集a中有b中没有 等于-
print(a.difference(b))  #{1, 10, 12}
print(a-b)

#反向差集 除了交集之外的所有数字集合 等于^
print(a.symmetric_difference(b)) #{0, 1, 10, 11, 12} 并集中去除交集后的补集
print(a^b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值