在python或空数组中创建多个列表

2024-09-22 16:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我只是在寻找一种方法,一次创建多个列表。我是说。你知道吗

day1 = []
day2 = []
up to 7 days....
day7 = []

而不是一直复制和粘贴,使我的代码看起来不专业,不好看。我想创建一个自动创建这些列表的循环。你知道吗


Tags: to方法代码列表专业粘贴daysup
3条回答

你可以用dict

dct = {}
for i in range(1,8):
   dct["day"+str(i)] = []

或听写理解

dct = { 'day'+str(i):[] for i in range(1,8) }

输出:

{'day6': [], 'day7': [], 'day4': [], 'day5': [], 'day2': [], 'day3': [], 'day1': []}

我能想到的最短的办法就是这个。你知道吗

day1, day2, day3, day4, day5, day6, day7 = [], [], [], [], [], [], []

以下是几个选项:

1.基本列表理解:

seven_lists = [[] for i in range(7)]

它给出了七个列表的嵌套列表:

[[], [], [], [], [], [], []]

2.一个(day, [])元组列表:

days = [("day " + str(i+1), []) for i in range(7)]

它给出:

[('day 1', []), ('day 2', []), ('day 3', []), ('day 4', []), ('day 5', []), ('day 6', []), ('day 7', [])]

3.每日词典:

days = {"day " + str(i+1) : [] for i in range(7)}

它给出:

{'day 1': [], 'day 2': [], 'day 3': [], 'day 4': [], 'day 5': [], 'day 6': [], 'day 7': []}

然后您可以像这样访问/更新每/多天:

>>> days['day 1']
[]
>>> days['day 1'].append(1)
>>> days['day 1']
[1]
>>> days
{'day 1': [1], 'day 2': [], 'day 3': [], 'day 4': [], 'day 5': [], 'day 6': [], 'day 7': []}
>>> days.update({'day 2': [1, 2, 3]})
>>> days
{'day 1': [1], 'day 2': [1, 2, 3], 'day 3': [], 'day 4': [], 'day 5': [], 'day 6': [], 'day 7': []}

相关问题 更多 >