[英]How to map python dictionary key values to each other?
假设我们有两个字典如下:
dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8}
如何在python中映射这两个字典来制作dict_c_to_b?
dict_c_to_b = {0.1:4, 0.2:9, 0.8:3}
使用dict
理解 - 像这样:
dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8}
result = {v: dict_a_to_b[k] for k, v in dict_a_to_c.items()}
print(result) #-> {0.1: 4, 0.2: 9, 0.8: 3}
如果dict_a_to_c
中有额外的键没有出现在其他对象中,则可以使用if
条件首先检查键是否存在:
dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8, 10:0.6, 50: 0.77, 12:0.56}
result = {v: dict_a_to_b[k] for k, v in dict_a_to_c.items()
if k in dict_a_to_b}
print(result) #-> {0.1: 4, 0.2: 9, 0.8: 3}
如果您知道dict_a_to_b
和dict_a_to_c
中的键以相同的顺序出现,您也可以使用zip
并只使用两个dict
对象上的values
:
result = dict(zip(dict_a_to_c.values(), dict_a_to_b.values()))
print(result) #-> {0.1: 4, 0.2: 9, 0.8: 3}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.