4 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
編輯:
我相信更快的解決方案是使用dict comprehensionwith itertools.product。解決方案只是一行代碼:
import itertools
example_dict = {x:[] for x in [x[0]+x[1] for x in itertools.product(info,years)]}
輸出與以下解決方案相同。
正如 han solo 在他們的評(píng)論中所建議的那樣,這似乎更合適defaultdict(list)?;旧辖鉀Q方案是:
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': []})

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用一維字典并在一個(gè)字符串中合并 itme 和不好的年份,您寧愿使用二維字典并首先填充空列表,然后通過(guò)兩個(gè)信息訪(fǎng)問(wèn):項(xiàng)目+日期
一個(gè)項(xiàng)目然后一年
values = {i: {year: [] for year in years} for i in info}
{'played_games': {'2020': [], '2019': [], '2018': [], '2017': [], '2016': [], '2015': [], '2014': [], '2013': []},
'games_won': {'2020': [], '2019': [], '2018': [], '2017': [], '2016': [], '2015': [], '2014': [], '2013': []},
'efectivity': {'2020': [], '2019': [], '2018': [], '2017': [], '2016': [], '2015': [], '2014': [], '2013': []},
...}
# add data like
values["played_games"]['2014'].append("foo")
一年然后一個(gè)項(xiàng)目
values = {year: {i: [] for i in info} for year in years}
{'2020': {'played_games': [], 'games_won': [], 'efectivity': [], 'championship_won': [], 'finals': [], 'semi-finals': [], 'quarterfinals': []},
'2019': {'played_games': [], 'games_won': [], 'efectivity': [], 'championship_won': [], 'finals': [], 'semi-finals': [], 'quarterfinals': []},
'2018': {'played_games': [], 'games_won': [], 'efectivity': [], 'championship_won': [], 'finals': [], 'semi-finals': [], 'quarterfinals': []},
...}
# add data like
values['2014']["played_games"].append("foo")

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以創(chuàng)建一個(gè)包含 n 個(gè)空列表的列表。與n = len(info) * len(years)
。其中 pos 0 的列表是 (info[0],years[0]) ,1 的列表是 (info[0],years[1])....
如果需要,您還可以將名稱(chēng)存儲(chǔ)在字符串列表中,具有相同的原理(信息和年份的雙循環(huán))。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用 2 個(gè)循環(huán),你可以試試這個(gè):
years = ["2020", "2019", "2018", "2017", "2016", "2015", "2014", "2013"]
info = ["played_games", "games_won", "efectivity", "championship_won", "finals", "semi-finals", "quarterfinals"]
all_arrays_dict = {}
for x in years:
for y in info:
all_arrays_dict[y+x] = []
print(all_arrays_dict)
這是輸出字典:
{
"played_games2020": [],
"games_won2020": [],
"efectivity2020": [],
"championship_won2020": [],
"finals2020": [],
"semi-finals2020": [],
"quarterfinals2020": [],
"played_games2019": [],
"games_won2019": [],
.
.
.
}
添加回答
舉報(bào)