Python 使用字典映射元组列表

Python 使用字典映射元组列表,python,dictionary,Python,Dictionary,给定以下元组列表: y = [(1, 2), (3, 5)] 以及以下字典: d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'} 有没有一种简单的方法可以将y映射到['a'、'c'、'n'、'u']?这个方法怎么样: >>> y = [(1, 2), (3, 5)] >>> d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'} >>> >>> [(

给定以下元组列表:

y = [(1, 2), (3, 5)]
以及以下字典:

d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'}
有没有一种简单的方法可以将y映射到['a'、'c'、'n'、'u']?

这个方法怎么样:

>>> y = [(1, 2), (3, 5)]
>>> d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'}
>>>
>>> [(d[k], d[v]) for k,v in y]
[('a', 'c'), ('n', 'u')]
>>>
这个怎么样:

>>> y = [(1, 2), (3, 5)]
>>> d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'}
>>>
>>> [(d[k], d[v]) for k,v in y]
[('a', 'c'), ('n', 'u')]
>>>

如果y的元素不能保证为2元组,则可以使用:

>>> d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'}
>>> y = [(1, 2), (3, 5, 4)]
>>> [tuple(d[i] for i in tup) for tup in y]
[('a', 'c'), ('n', 'u', 'y')]

如果y的元素不能保证为2元组,则可以使用:

>>> d = {1: 'a', 2: 'c', 3: 'n', 4: 'y', 5: 'u'}
>>> y = [(1, 2), (3, 5, 4)]
>>> [tuple(d[i] for i in tup) for tup in y]
[('a', 'c'), ('n', 'u', 'y')]

@g、 d.d.c简化了对Tupel元素的访问。tupel[x]几乎总是访问tupel的一种不方便的方式elements@phihag-谢谢!我总是忘记打开内部元组,但这确实让它变得干净了一点一个基本的注释,但我确实不喜欢这里的k和v作为变量名,因为它强烈地暗示它们是字典的键和值。@g.d.d.c简化了对元组元素的访问。tupel[x]几乎总是访问tupel的一种不方便的方式elements@phihag-谢谢!我总是忘记打开内部元组,但这确实让它变得干净了一点一个基本的注释,但我真的不喜欢这里的k和v作为变量名,因为它强烈地暗示它们是字典的键和值。