python - 如何避免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]
解决方案
在运行时间方面可能不会更有效,但在编写代码方面更有效:
List2.extend(Dict[e] for e in List1)
如果您对代码高尔夫感兴趣,
List2.extend(map(Dict.get, List1))
推荐阅读
- php - 如何每行只有 3 个带有动态复选框编号的复选框
- r - R:使用 ggplot 更改风险热图中的 colorPalette 颜色
- android - 视图不想更新
- html - 我应该把我的标签放在哪里以便将它放在我的弹性容器下面
- sql - 如何创建一个触发器来计算从一个表到另一个表的具有匹配 id 的字段的总和?
- html - 虽然 #navbar 宽度是 100% 并且还设置了 box-sizing ,但 navbar 比右侧的 body 宽一点,为什么?#navbar 固定并且宽度是 100%
- python - 必需的位置参数,“类型错误:缺少自我参数”
- python-3.x - 不添加所有不在字典值中的元素
- python - Python Pandas 根据条件更改值
- c# - Webdriver 管理器和 c#