我有一个 list
l = [['a', 's', 'l'], ['a', 'g', 'l'], ['a', 's', 'l'], ['g', 's', 'l'], ['a', 'l', 'g']]
我还有一本字典
d = [{'a': 1, 'v': 6, 'c': 7}, {'g': 3, 's': 4, 'l': 9}]
我需要创建另一个 l
形状的列表,但其值与 d
匹配:
d = [[1, 4 ,9], [1, 3 , 9], [1, 4 , 9], [3, 4 , 9], [1, 9 , 3]]
我尝试使用 for 循环来执行此操作,但嵌套列表给我带来了麻烦。
如有任何帮助,我们将不胜感激。
最佳答案
简单的理解就可以了:
combined_mapping = {k: v for subdict in d for k, v in subdict.items()}
mapped = [[combined_mapping[element] for element in sublist] for sublist in l]
mapped
输出:
[[1, 4, 9], [1, 3, 9], [1, 4, 9], [3, 4, 9], [1, 9, 3]]
关于python - 将嵌套列表中的元素与字典中的值进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464679/