2019年12月24日 MRKJ 字典 page111 merry christmas
key=['a','b','c','d'] value=[1,2,3,4] d=dict(zip(key,value))# zip 将多个列表或者元祖对应位置组合成zip对象
#,用dict函数转换为字典,用list也可以转换为列表,用tuple转换元祖 e=tuple(zip(key,value)) print(d,'\n',e) x,y=zip(*e) print(x,y) #返回二位矩阵式 zip(*) 是解压
>>>>
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
(('a', 1), ('b', 2), ('c', 3), ('d', 4))
('a', 'b', 'c', 'd') (1, 2, 3, 4)
key=['a','b','c','d'] value=[1,2,3,4] d=dict(zip(key,value))# zip 将多个列表或者元祖对应位置组合成zip对象,用dict函数转换为字典,用list也可以转换为列表,用tuple转换元祖 e=tuple(zip(key,value)) print(d,'\n',e) x,y=zip(*e) print(x,y) #返回二位矩阵式 zip(*) 是解压 f=d.pop('a')#删除指定key,并返回对应value print(d,'\n',f) g=d.popitem() #随机返回并删除字典中一个键值对,一般是最后一个键值对,LIFO 顺序规则 后进先出法 print(d,g)
>>>>>
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
(('a', 1), ('b', 2), ('c', 3), ('d', 4))
('a', 'b', 'c', 'd') (1, 2, 3, 4)
{'b': 2, 'c': 3, 'd': 4}
1
{'b': 2, 'c': 3} ('d', 4)
x={1:3,2:22,3:444} print('x[1]',x[1] if '1'in x else 'no' ) #print 设置一个if的默认值 ,判定1 是否在x 字典内,避免错误 print(x.get('key值','如果不存在返回该默认值'))
》》》》》
x[1] no
如果不存在返回该默认值
x={1:'a',2:'b',3:'c'} z=x.items()#可遍历的元祖列表 print(z) for item in x.items(): print(item)#输出键值对元祖 for key,value in x.items(): print(key,value)#分别输出key和value for key in x.keys():#输出key print(key) for value in x.values():#输出value print(value)
>>>>
dict_items([(1, 'a'), (2, 'b'), (3, 'c')])
(1, 'a')
(2, 'b')
(3, 'c')
1 a
2 b
3 c
1
2
3
a
b
c
a=10 b=6 c= a if a>b else b#条件表达式,如果a>b 则输出a 否则输出b print(c)
字典推导式:
import random rd={i*i: random.randint(10,100) for i in range(5)} #字典推导式={键表达式:值表达式 for循环} print(rd) name=['a','b','c'] sign=[1,2,3] ns=zip(name,sign) for i,j in ns: print(i,j) ns_dict={i:j*j for i,j in zip(name,sign)}#字典推导式 #也可以写成{i:j*j for i,j in dict(ns).items()} print(ns_dict)
》》》》》》
{0: 41, 1: 29, 4: 38, 9: 93, 16: 20}
a 1
b 2
c 3
{'a': 1, 'b': 4, 'c': 9}