Python 用dict值替换键列表的有效方法?

Python 用dict值替换键列表的有效方法?,python,Python,假设我有一个属于字典的键列表: dict = {"a":[1,2], "b":[3,4], "c":[5,6]} keys = ["a","b","c"] 用字典中的值替换列表中的所有键最有效的方法是什么 即 变成 keys = [[1,2],[3,4],[5,6]] 使用类似于这样的方法: 仅当希望列表对象保持不变时才需要使用[:]。否则,您可以删除它: >>> dct = {"a":[1,2], "b":[3,4], "c":[5,6]} >>> ke

假设我有一个属于字典的键列表:

dict = {"a":[1,2], "b":[3,4], "c":[5,6]}
keys = ["a","b","c"]
用字典中的值替换列表中的所有键最有效的方法是什么

变成

keys = [[1,2],[3,4],[5,6]]
使用类似于这样的方法:

仅当希望列表对象保持不变时才需要使用
[:]
。否则,您可以删除它:

>>> dct = {"a":[1,2], "b":[3,4], "c":[5,6]}
>>> keys = ["a","b","c"]
>>> id(keys)
28561280
>>> keys = [dct[k] for k in keys]
>>> keys
[[1, 2], [3, 4], [5, 6]]
>>> id(keys)
28590032
>>>
使用类似于这样的方法:

仅当希望列表对象保持不变时才需要使用
[:]
。否则,您可以删除它:

>>> dct = {"a":[1,2], "b":[3,4], "c":[5,6]}
>>> keys = ["a","b","c"]
>>> id(keys)
28561280
>>> keys = [dct[k] for k in keys]
>>> keys
[[1, 2], [3, 4], [5, 6]]
>>> id(keys)
28590032
>>>

map
使之变得简单:

map(d.get, keys)

(或者,在Python3.x中,
list(map(d.get,keys))

map
简化了以下操作:

map(d.get, keys)

(或者,在Python3.x中,
list(map(d.get,keys))

如果您想要一个dict中所有值的列表,请使用

>>> d={1: 'a', 2: 'b', 3: 'c', 4: 'd'}  
>>> d.values()
['a', 'b', 'c', 'd']
返回包含的所有值的列表

如果需要密钥的子集,可以使用:

>>> d={1: 'a', 2: 'b', 3: 'c', 4: 'd'}  
>>> l=[1, 3]
>>> [d[x] for x in l]  
['a', 'c']

请让我知道您想要的是哪一个…

如果您想要一个dict中所有值的列表,请使用

>>> d={1: 'a', 2: 'b', 3: 'c', 4: 'd'}  
>>> d.values()
['a', 'b', 'c', 'd']
返回包含的所有值的列表

如果需要密钥的子集,可以使用:

>>> d={1: 'a', 2: 'b', 3: 'c', 4: 'd'}  
>>> l=[1, 3]
>>> [d[x] for x in l]  
['a', 'c']

请让我知道您要的是哪一个…

您不应该命名变量
dict
,因为它掩盖了内置项。您不能只使用dict.values()获取值吗?您不应该命名变量
dict
,因为它掩盖了内置项。您不能只使用dict.values()获取值吗