Python字典推導式

2020-07-16 10:04:49
Python 中,使用字典推導式可以藉助列表、元組、字典、集合以及 range 區間,快速生成符合需求的字典。

字典推導式的語法格式如下:

{表示式 for 疊代變數 in 可疊代物件 [if 條件表示式]}

其中,用 [] 括起來的部分,可以使用,也可以省略。

可以看到,和其它推導式的語法格式相比,唯一不同在於,字典推導式用的是大括號{}。

【例 1】
listdemo = ['C語言中文網','c.biancheng.net']
#將列表中各字串值為鍵,各字串的長度為值,組成鍵值對
newdict = {key:len(key) for key in listdemo}
print(newdict)
執行結果為:

{'C語言中文網': 6, 'c.biancheng.net': 15}


【例 2】交換現有字典中各鍵值對的鍵和值。
olddict={'C語言中文網': 6, 'c.biancheng.net': 15}
newdict = {v: k for k, v in olddict.items()}
print(newdict)
執行結果為:

{6: 'C語言中文網', 15: 'c.biancheng.net'}


【例 3】使用 if 表示式篩選符合條件的鍵值對。
olddict={'C語言中文網': 6, 'c.biancheng.net': 15}
newdict = {v: k for k, v in olddict.items() if v>10}
print(newdict)
執行結果為:

{15: 'c.biancheng.net'}