python:集合

1.集合
empty_set = set()
print(empty_set)
输出
set()   #输出一个空集合


even_number = {0,2,4,6,8}  #可以使用set()创建一个集合,或者用大括号将一系列逗号隔开的值包裹起来
print(even_number)
输出:
{8, 0, 2, 4, 6}
odd_numbers = {1,3,4,5,7}
print(odd_numbers)
输出:
{1, 3, 4, 5, 7}
print(set('letter'))  #该集合中仅包含一个'e'和一个't',尽管字符串'letter'里面各自包含两个
输出:
{'e', 'r', 't', 'l'}




2.使用set()将其他类型装换成集合
可以利用已有的列表,字符串,元组或字典内容来创建集合,其中重复的值会被丢弃


print(set(['dasher','dancer','prancer','mason-dixon']))   #用列表建立集合
输出:
{'dancer', 'prancer', 'dasher', 'mason-dixon'}
print(set(('ummagumma','echoes','atomheart mother')))     #用元组建立集合
输出:
{'echoes', 'atomheart mother', 'ummagumma'}
print(set({'apple':'red','orange':'orange','cherry':'red'}))  #使用字典创建集合,只有键会被使用
输出:
{'orange', 'apple', 'cherry'}

3.使用in测试值是否存在
drinks ={
'martini':{'vodka', 'vermouth'},
'black russian':{'vodka', 'kahlua'},
'white russian':{'cream', 'kahlua', 'vodka'},
'manhattan':{'rye', 'vermouth', 'bitters'},
'screwdriver':{'orange juice', 'vodka'}
}  # 每个键都是一种混合饮料的名字,与之对应的值是配料组成的集合,尽管都由花括号包裹,集合仅仅是一系列值组成的序列,而字典是一个或多个键值对组成的序                列
for name,contents in drinks.items():
if 'vodka' in contents:
print(name)  #查看哪种饮料含有伏特加
输出:
screwdriver
white russian
martini
black russian

for name ,contents in drinks.items():
if 'vodka' in contents and not('vermouth' in contents or 'cream' in contents):
print(name)   #选取含有伏特加,但是不含有乳糖和苦艾酒的饮料
输出:
screwdriver
black russian

for name,contents in drinks.items():
if contents &{'vermouth','orange juice'}:
print(name)   #选出包含苦艾酒或者果汁的饮料
输出:
screwdriver
martini

for name,contents in drinks.items():
if 'vodka' in contents and not contents &{'vermouth','cream'}:
print(name)   #选出有伏特加但是不包含乳脂和苦艾酒的饮料
输出:
manhattan
screwdriver
black russian

4.合并及运算符
bruss = drinks['black russian']
wruss = drinks['white russian']
a = {1,2}
b = {2,3}
print(a&b)  #a和b的交集
输出:
{2}
print(a.intersection(b))
输出:
{2}
print(a|b)  #a和b的并集
print(a.union(b))
输出:
{1, 2, 3}
print(a - b)  #a和b的差集
print(a.difference(b))
输出:
{1}
print(a^b)  #a和b的异或集(仅在两个集合中出现一次)
print(a.symmetric_difference(b))
输出:
{1, 3}
print(a <= b)  #一个集合是否是另外一个集合的子集(第一个集合的所有元素都出现在第二个集合中)
print(a.issubset(b))
输出:
False



















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值