创建 "chain-dict" 有哪些 pythonic 方法?
What are some pythonic ways to create a "chain-dict"?
假设:
dict_A = {'1': 'one', '2': 'two'}
dict_B = {'one': 'A', 'two': 'B'}
dict_C = {'1': 'A', '2': 'B'}
我想从 dict_A
和 dict_B
创建 dict_C
(假设它们的长度相同)。
可以做到这一点
dict_C = {}
for k in dict_A: dict_C[k] = dict_B[dict_A[k]]
它有效,但我想知道是否有一些 pythonic 或更好的方法(也许像 dict_C = dict_B[dict_A.values]
,当然它不起作用)。
您可以使用字典理解和 dict.items
(虽然不确定它是否 显着 更 pythonic;你的也很好!):
dict_A = {'1': 'one', '2': 'two'}
dict_B = {'one': 'A', 'two': 'B'}
dict_C = {k: dict_B[v] for k, v in dict_A.items()}
print(dict_C) # {'1': 'A', '2': 'B'}
假设:
dict_A = {'1': 'one', '2': 'two'}
dict_B = {'one': 'A', 'two': 'B'}
dict_C = {'1': 'A', '2': 'B'}
我想从 dict_A
和 dict_B
创建 dict_C
(假设它们的长度相同)。
dict_C = {}
for k in dict_A: dict_C[k] = dict_B[dict_A[k]]
它有效,但我想知道是否有一些 pythonic 或更好的方法(也许像 dict_C = dict_B[dict_A.values]
,当然它不起作用)。
您可以使用字典理解和 dict.items
(虽然不确定它是否 显着 更 pythonic;你的也很好!):
dict_A = {'1': 'one', '2': 'two'}
dict_B = {'one': 'A', 'two': 'B'}
dict_C = {k: dict_B[v] for k, v in dict_A.items()}
print(dict_C) # {'1': 'A', '2': 'B'}