我有一本看起来像这样的字典:
my_dict = {"a":1, "e":2, "i":3, ...}
我还有一个包含不同字素的列表:
my_list = ["t", "a", "b", "l", "e", ...]
我想做的是遍历列表中的每个字素,如果字素是词典的一部分,请用其值替换它。
我尝试使用my_dict.get()
,尽管它需要一个参数(对应于给定值)。由于我不知道确切的值是什么,因为它会根据函数迭代的字素而变化,我该怎么做才能获得所需的输出?
答案 0 :(得分:0)
这样的作品行吗?
result = [my_dict.get(grapheme, grapheme) for grapheme in my_list]
答案 1 :(得分:0)
将列表理解与dict.get()
一起使用,该列表理解带有两个参数:key和默认值(可选)。
来自docs:
get(key[, default])
: 如果key在字典中,则返回key的值,否则返回默认值。 如果未提供默认值,则默认为None
,因此此方法 永远不会引发KeyError
。
my_dict = {"a": 1, "e": 2, "i": 3}
my_list = ["t", "a", "b", "l", "e"]
print([my_dict.get(x, x) for x in my_list])
# ['t', 1, 'b', 'l', 2]