博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

字典、集合

Posted on 2023-03-04 11:40  乱了啦  阅读(19)  评论(0)    收藏  举报

运算符

作用:在{}内用逗号分隔开多个元素,集合具备以下三个特点:
     1:每个元素必须是不可变类型
     2:集合内没有重复的元素
     3:集合内元素无序
#  类型转换
# a = set('hhelooo')
# print(a)
# 4.内置方法
friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们
friends2 = {"Jy","ricky","jason","egon"}  # 用户2的好友们
#  4.1  :&:取交集 :两者共同的好友
a=friends1 & friends2
print(a)
#  4.2  :|:取并集 :两者共同的好友
print(friends1 | friends2)
#
# #  4.2  :取差集 取friends1唯独的好友
print(friends1 - friends2)
#
# #         取差集 取friends2唯独的好友
print(friends2 - friends1)
#
# #  4.2  :^:对称差集:求两个用户唯独的好朋友(去掉共同好友)
print(friends1 ^ friends2)
# #  4.2  :父子集:包含的关系
s1={1,2,3}
s2={1,2,3,4,5}
print(s2>s1)

  

删除:

字典删除:
pop(key):根据key实现删除,删除的是键对值value
popitem:返回值(key,value),从后往前删除

# for i in books: # 每循环一次酒绑定一个字典给i,然后删除字典里的‘出版社’
# print(books)
# i.pop('出版社')
# print(books)
get():
# get根据key获取value|值,没有查找的值时会返回Noue,同时get(key,默认值)还可以设置默认值
# 如果使用for...in直接表里字典,取出的是key
# q={3:'a',4:'b'}
# o=l.setdefault(3,'c') # 字典做添加使用
# res=l.update(q) # 合并字典
# k=l.fromkeys(['a','b'],10) # 添加字典,a,b位key,10为value
小练习:
'''
books=[]框 能放很多本书
书{}
添加三本书
1.添加书
不能同名同名书籍
'''
# books=[]
# while True:
# if len(books)==3: # 当books里有三个字典时就结束整个循环
# break
# name=input('输入书名:')
# for book in books: # 第一次循环时books一个内容都没有,所以直接跳过
# if name == book.get('name'): # 当name输入的书名,在book的value值已经有时
# print('书名重复')
# break # 结束本次for循环
前面的书名如果重复就运行以下代码,重复的内容则不会添加到books里
# else:
# author=input('输入作者:')
# price=float(input('输入价格:'))
# books.append({'name':name,
# 'author':author,
# 'price':price
# })
集合:
# 集合是无需的,没有下标 集合:set
# add()添加元素
# a=set()
# b=a.add('靓仔')
# update:合并集合
小练习:
'''
产生五组验证码四位数(不能重复)
最终打印我组验证码
'''

# import random
# d=set() # 字符串不能有重复元素

# l='adsihgojbsfadoilhadsfn12334456789DSAIBIHZAFDSIHFADS'
# while True:
# lk=''
# for i in range(4):
# res = random.choice(l) 从l内随机抽取一个数然后循环四次
# lk+=res 把拿到的数添加到lk字符串内
# d.add(lk) 每循环完四次lk内就有4个随机字符,然后放在d内
# if len(d)==5: # 当d有五个字符串时结束外层循环
# break
# print(d)
# 删除
# pop:随机删除
# discard:删除集合里的元素
dd={1,2,3,45,6}
dd.discard(1)
print(dd)
总结: