d = {'a':1,'b':2,'c':3,'d':4}
d = { k + 'c' : v * 2 for k : v in d.items() if v > 2}輸出是{ 'cc': 6 , 'dc': 8}
2 回答

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
理解轉換為常規代碼非常簡單(反之亦然)。pop您可以使用以下方法就地執行此操作:
d = {'a':1,'b':2,'c':3,'d':4}
for k in list(d.keys()):
v = d.pop(k)
if v > 2:
d[k + 'c'] = v * 2
print(d)
給出:
{'cc': 6, 'dc': 8}

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
這個字典理解等價于:
# Set up a new dictionary to hold the result
d_new = {}
# Iterate over key/value pairs
for k, v in d.items():
# If the value is greater than 2
if v > 2:
# Append to the new dictionary as required.
d_new[k + 'c'] = v*2
輸出:
>>> d_new
{'cc': 6, 'dc': 8}
添加回答
舉報
0/150
提交
取消