在Python字典中用键的值替换键

在Python字典中用键的值替换键,python,Python,我有一本字典,看起来像这样: my_dict = {"a":1, "e":2, "i":3, ...} 我还有一个由不同的图形组成的列表: my_list = ["t", "a", "b", "l", "e", ...] 我要做的是迭代列表中的每个字素,如果字素是字典的一部分,那么用它的值替换它 我尝试使用my_dict.get(),尽管它需要一个参数(对应于给定的值)。由于我不知道确切的值是多少,因为它将根据函数迭代的图形而变化,我可以做些什么来获得所需的输出?是否需要这样的工作 resu

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

my_dict = {"a":1, "e":2, "i":3, ...}
我还有一个由不同的图形组成的列表:

my_list = ["t", "a", "b", "l", "e", ...]
我要做的是迭代列表中的每个字素,如果字素是字典的一部分,那么用它的值替换它


我尝试使用
my_dict.get()
,尽管它需要一个参数(对应于给定的值)。由于我不知道确切的值是多少,因为它将根据函数迭代的图形而变化,我可以做些什么来获得所需的输出?

是否需要这样的工作

result = [my_dict.get(grapheme, grapheme) for grapheme in my_list]

使用带有
dict.get()
的列表理解,该列表包含两个参数:键和默认值(可选)

发件人:

get(键[,默认值])
: 如果键在字典中,则返回键的值,否则为默认值。 如果未给出默认值,则默认为
None
,因此此方法 从不引发
键错误


作为字典的一部分是什么意思,它是它的键还是值?
my_dict.get(),尽管它需要一个参数(对应于给定的值)
。不,那不是真的。参数是键,而不是值。@looie如果grapheme是键。因此,在本例中,所有“a”都应替换为“1”,以此类推,
my_dict.get()
接受一个键,并在缺少键时返回一个默认值。在您的例子中,要返回的键和默认值都是grapheme本身。所以
my dict.get('a','a')
返回
1
,但是
my dict.get('t','t')
返回
't'
。对我的列表中的grapheme使用
[我的dict.get(grapheme,grapheme)]
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]