首页 > 解决方案 > 如何避免for循环在列表中附加字典值

问题描述

我有这本字典:

Dict = {
    "a" : 1,
    "b" : 2,
    "c" : 3
}

这两个列表:

List1 = ["a","c"]
List2 = [0]

有没有比以下方法更有效的方法将 List1 通过 Dict 的相应值附加到 List2 ?:

for e in List1:
    List2.append(Dict[e]) 

结果 :

[0, 1, 3]

标签: pythonlistdictionaryfor-loopappend

解决方案


在运行时间方面可能不会更有效,但在编写代码方面更有效:

List2.extend(Dict[e] for e in List1)

如果您对代码高尔夫感兴趣,

List2.extend(map(Dict.get, List1))

推荐阅读