使用包含键顺序的列表从字典值创建列表

时间:2015-06-26 17:24:50

标签: python python-2.7

我有一个字典,其中包含一定数量的键/值对,例如:

d = { "v1": 1, "v2": 2, "v3":3, "v4": 4 }

以及按特定顺序包含密钥的列表:

l = [ "v2", "v3", "v1", "v4" ]

如何以优雅的方式使用l的顺序获取值列表?

[ 2, 3, 1, 4]

我唯一能想到的是:

[ d[k] for k in l ]

同样的问题,如果我想获得一个元组。

1 个答案:

答案 0 :(得分:3)

对于Python 2.x,请尝试使用 -

>>> d = { "v1": 1, "v2": 2, "v3":3, "v4": 4 }
>>> l = [ "v2", "v3", "v1", "v4" ]
>>> map(d.get,l)
[2, 3, 1, 4]

如果您使用的是Python 3.x,map函数会返回一个map对象,您可以迭代它,以转换为列表使用list函数,示例 -

>>> list(map(d.get,l))
[2, 3, 1, 4]
相关问题