用Python字典中的键值替换键

时间:2018-11-12 16:28:19

标签: python

我有一本看起来像这样的字典:

my_dict = {"a":1, "e":2, "i":3, ...}

我还有一个包含不同字素的列表:

my_list = ["t", "a", "b", "l", "e", ...]

我想做的是遍历列表中的每个字素,如果字素是词典的一部分,请用其值替换它。

我尝试使用my_dict.get(),尽管它需要一个参数(对应于给定值)。由于我不知道确切的值是什么,因为它会根据函数迭代的字素而变化,我该怎么做才能获得所需的输出?

2 个答案:

答案 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]