как избежать для l oop для добавления словарных значений в список - PullRequest
0 голосов
/ 30 января 2020

У меня есть этот словарь:

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

И эти два списка:

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

Есть ли более эффективный способ добавить в List2 соответствующие значения от List1 до Dict, чем следующим образом? :

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

Результат:

[0, 1, 3]

1 Ответ

3 голосов
/ 30 января 2020

Вероятно, не более эффективно с точки зрения времени выполнения, но более эффективно с точки зрения написанного кода:

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

Если вас интересует код гольф,

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