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}

posted @ 2019-12-24 20:57  小圣庄  阅读(190)  评论(0编辑  收藏  举报