我有一个字典,其中包含一定数量的键/值对,例如:
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 ]
同样的问题,如果我想获得一个元组。
答案 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]