考慮一個字典:
{'a': ['b', 'c'], 'b':['a', 'c', 'e'], 'c':['a', 'b', 'f']}
如何在一行中將值作為元組獲取:
{'a': ('b', 'c'), 'b':('a', 'c', 'e'), 'c':('a', 'b', 'f')}
首先,我使用理解將這本字典的值轉換為元組串列
list_of_tuple = [tuple(val) for val in dict.values()]
迭代list_of_tuple中 dict和items的值,然后將 dict 的第 n 個元素等同于 list_of_tuple 的第 n 個元素不起作用。
有沒有更好的,緊湊的方法來做到這一點?
uj5u.com熱心網友回復:
您可以使用字典理解:
out = {k:tuple(v) for k,v in d.items()}
或map使用 lambda:
out = dict(map(lambda x: (x[0],tuple(x[1])), d.items()))
或map與zip:
out = dict(zip(d.keys(), map(tuple, d.values())))
輸出:
{'a': ('b', 'c'), 'b':('a', 'c', 'e'), 'c':('a', 'b', 'f')}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404582.html
標籤:
上一篇:Julia中的排序字典
