【发布时间】:2021-09-18 18:26:54
【问题描述】:
我想根据字典映射表替换列表列表中的元素,并尝试如下:
lists_before = [['A', 'B', 'C'], ['A', 'D'], ['D', 'E']]
mapped_dictionary = {'A': 'G', 'B': 'G', 'C':'F'}
下面是我使用的代码:
lists_after = []
for element in lists_before:
new_element = []
for letter in element :
if letter in list(mapped_dictionary.values()):
letter = repl_dic.get(letter)
new_element.append(letter)
lists_after.append(new_element)
lists_after 的预期输出是:
[['G', 'G', 'F'],['G','D'],['D','E']]
但是,我得到的输出还是和lists_before一样。
我不知道出了什么问题。有人可以帮我吗?
【问题讨论】:
-
[[mapped_dictionary.get(char, char) for char in sl] for sl in lists_before] -
只是刮一下
.values()。您需要它们位于dict中(就像它的键一样)。
标签: python list dictionary replace mapping