python字典和集合

一:字典:

 

 

 1 dt = {'Jack':18,'Mike':19,128:37,(1,2):[4,5]}
 2 print(dt['Jack'])#18
 3 print(dt[128])#37
 4 print(dt[(1,2)])#[4,5]
 5 dt['Mike'] = 'ok'#把mike的键值改成ok
 6 dt['school'] = 'JMU'
 7 print(dt)#添加了键值为school的学校
 8 del dt['Mike']#删除了键值是Mike的元素
 9 print('b' in dt)#返回false
10 dt['Mike'] = dt.get('Mike',0)+1
11 #get函数是字典里面常用的函数,作用是返回字典
12 #键值是Mike的元素,否则的话不会返回false而是0

 

注意:字典的键不能重复!

 

 首先字典可以由元组转化而成,刚好每一个元组都是一个对应的键值对。还有第二个是用等号转化。

二,字典相应的函数:

 

 

 1 d = {'name': 'Gumby', 'age':42,'GPA':3.5}
 2 if 'age' in d.keys():#这个是遍历键
 3     print(d['age'])#通过键来访问值
 4 for x in d.items():
 5     print(x,end = "")#这个输出就是按照元组的方式输出键值对
 6     #(‘GPA’,3.5),(),()
 7 for x in d.items():
 8     print(x[1],end = "")#这个其实就是打印上面元组里面的第二个
 9 
10 for k,v in d.items():
11     print(k,v,end = "")#k和v其实分别代表键和值
12 for x in d.keys():
13     print(x,end = "")#这个x其实就是键值
14 for x in d.value():#这个是遍历值
15     print(x,end = "")
16 y = d.copy()#这个就是浅拷贝
17 y.pop('Mike')#删除
18 d.clear()# 清除

 

 1 dt = {}
 2 while True:
 3     try:
 4         wd = input()
 5         if wd in dt:
 6             dt[wd]+=1
 7         else:
 8             dt[wd] = 1
 9     except:
10             break
11 result = []
12 for x in dt.items():
13     result.append(x)
14 result.sort(key = lambda x:(-x[1],x[0]))
15 for x in result:
16     print(x[1],x[0])

三,set集合:

 

 

在判断一个东西是否在一堆东西里的时候,集合会比列表快速很多。

 

 

 1 a = {1,2,2,"ok",(1,3)}
 2 print(a)
 3 b = (3,4)
 4 c = (3,4)
 5 a = set((1,2,"ok",2,b,c))#字典转化为set集合会自动去重
 6 for x in a:
 7     print(x,end = "")
 8 a = set("abc")#字符串转化为集合
 9 print(a)
10 a = set({1:2,'ok':3,(3,4):4})
11 print(a)#只取键
12 print(a[2])#set容器是一个无序的容器是不会自己排序的

 

四,集合常用函数与运算:

 

 

 

 

 

 

 

 

 

1 words = set([])
2 while True:
3     try:
4         wd = input()
5         if not wd in words:
6             words.add(wd)
7     except:
8         break;
9 print(len(words))

 

posted @ 2022-01-29 10:36  prize  阅读(50)  评论(0编辑  收藏  举报