python - 使用另一个列表的元素创建空列表
问题描述
我有一份年份清单:
years = ["2020", "2019", "2018", "2017", "2016", "2015", "2014", "2013"]
以及我想从网络抓取中获取的信息列表:
info = ["played_games", "games_won", "efectivity", "championship_won", "finals", "semi-finals", "quarterfinals"]
我需要迭代几年,这样我就可以用 info + 对应年份中的元素名称制作空列表,这样我就可以稍后附加信息,即:
played_games2020 = []
games_won2020 = []
efectivity2020 = []
etc
played_games2019 = []
games_won2019 = []
efectivity2019 = []
etc
任何帮助将非常感激!问候
解决方案
编辑:
我相信更快的解决方案是使用dict comprehension
with itertools.product
。解决方案只是一行代码:
import itertools
example_dict = {x:[] for x in [x[0]+x[1] for x in itertools.product(info,years)]}
输出与以下解决方案相同。
正如 han solo 在他们的评论中建议的那样,这似乎更合适defaultdict(list)
。基本上解决方案是:
from collections import defaultdict
example_dict = defaultdict(list)
for i in years:
for j in info:
example_dict[j+i]
print(example_dict)
输出:
defaultdict(list,
{'championship_won2013': [],
'championship_won2014': [],
'championship_won2015': [],
...
'semi-finals2018': [],
'semi-finals2019': [],
'semi-finals2020': []})
推荐阅读
- regex - PowerShell 中的正则表达式从 Active Directory 中的 Managedby 属性获取用户名
- reactjs - 调用useState的set函数导致死循环
- jquery - 使用 JQuery 函数取消选中单选按钮
- python - python中的继承:在现实生活中正确使用__init__和super()
- python - 使用 Upsert 将字典对象列表批量插入 Postgres
- python - 为什么我得到一个 TypeError:__init__() 在 python sklearn 中有一个意外的关键字参数“outer_cv”?
- regex - 在本地跨多个文件查找和替换正则表达式
- r - 如何创建一个表格来计算 R 中两个单独表格中值之间的百分比变化?
- python - 调试 pypi 打包:pip install 成功,但导入时 ModuleNotFound
- ios - 在 Xcode 中捏合缩放行为不端