首页 > 代码库 > 关于字典的推导式

关于字典的推导式

字典推导式:

dic={i:j for i in [1,2,3] for j in [‘a‘,‘b‘,‘c‘]}

理论上来说会生成{1:‘a‘,1:‘b‘,1:‘c‘,2:‘a‘,2:‘b‘,2:‘c‘,3:‘a‘,3:‘b‘,3:‘c‘}这样一个字典

但是实际上输出:

技术分享

因为字典的key是唯一的,所以1:a,1:b,2:a,2:c,3:a,3:b被后面的1:c,2:c,3:c给覆盖了

如果想要生成两个列表一一对应式的字典,可以采用以下方式:

 

>>> a=[1,2,3]
>>> b=[‘x‘,‘y‘,‘z‘]
>>> dic=dict(zip(a,b))

或者:

>>> dic={i:j for i,j in zip(a,b)}

此时输出的结果是:

{1: ‘x‘, 2: ‘y‘, 3: ‘z‘}

关于字典的推导式