python笔记17:字典推导式
字典推导式
'''
#如:1,2,……10为键,平方为值
dict_shu={}
for imte in range(1,11):
dict_shu[imte]=imte**2
print(dict_shu)
#推导式
dict_02={}
dict_02={imte:imte**2 for imte in range(1,11)}
print(dict_02)
#如果只显示大于5的式子
dict_02={}
dict_02={imte:imte**2 for imte in range(1,11) if imte>5}
print(dict_02)
#练习:把列表中元素的长度放入字典,如["李城“,”张三“,”孙悟空“]---->{"李城“:2,”张三“:2,”孙悟空“:3}
ditc01={}
list01=["李城","张三","孙悟空"]
ditc01={imte:len(imte) for imte in list01}
print(ditc01)
#练习2、把两个列表合并
ditc01={}
list01=["李城","张三","孙悟空"]
list02=[101,102,103]
# for ime in range(len(list01)):
# ditc01[list01[ime]]=list02[ime]
ditc01={list01[ime]:list02[ime] for ime in range(len(list01))}
print(ditc01)#打印字典
for k,v in ditc01.items():
print(k,v)
#根据value找key
#解决方法1:键值互换
ditc01={list02[ime]:list01[ime] for ime in range(len(list02))}
print(ditc01)
for k,v in ditc01.items():
print(k,v)
#缺点:如是要键重复会补复盖。
#解决方法2:用列表元组
list02=[(v,i) for i,v in ditc01.items()]
print(list02)
for vme in list02:
for kme in vme:
print(kme)