在 Python 中为给定的迭代次数创建列表列表
creating a list of lists for a given number of iterations in Python
我正在处理下面的代码,其中有一个日期列表 (date_index) 和另一个列表 (date_unique),每个唯一日期都出现在 (date_index).我正在尝试从 date_index.
中的 date_unique 获取代码 return i 的每次出现的索引
for i in date_unique:
month_index = [i for i in range(len(date_index)) if date_index[i] == (date_unique[0])]
print(month_index)
例如上面的代码 date_unique returns 输出中第 0 项:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
如果我将代码更改为 date_unique[1],我会得到输出
[16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45]
也重复了 11 次(根据 date_unique 中的元素数)。
我希望获得的输出是:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45],
continued for i in date_unique.
如果您需要输入来测试
month_index = ['032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '012021', '012021', '012021', '012021', '012021', '012021', '012021', '012021', '012021', '012021']
date_unique = ['032020', '042020', '052020', '062020', '072020', '082020', '092020', '102020', '112020', '122020', '012021']
我希望我的问题很清楚!
非常感谢
您应该迭代 date_unique
并将生成的列表附加到主列表。
all_indices = []
for j in date_unique:
month_index = [i for i in range(len(date_index)) if date_index[i] == (date_unique[j])]
all_indices.append(month_index)
稍微短一点的方法是
all_indices = []
for date in date_unique:
all_indices.append([i for i in range(len(date_index)) if date_index[i] == date])
我正在处理下面的代码,其中有一个日期列表 (date_index) 和另一个列表 (date_unique),每个唯一日期都出现在 (date_index).我正在尝试从 date_index.
中的 date_unique 获取代码 return i 的每次出现的索引for i in date_unique:
month_index = [i for i in range(len(date_index)) if date_index[i] == (date_unique[0])]
print(month_index)
例如上面的代码 date_unique returns 输出中第 0 项:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
如果我将代码更改为 date_unique[1],我会得到输出
[16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45]
也重复了 11 次(根据 date_unique 中的元素数)。 我希望获得的输出是:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45],
continued for i in date_unique.
如果您需要输入来测试
month_index = ['032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '032020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '042020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '052020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '062020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '072020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '082020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '092020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '102020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '112020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '122020', '012021', '012021', '012021', '012021', '012021', '012021', '012021', '012021', '012021', '012021']
date_unique = ['032020', '042020', '052020', '062020', '072020', '082020', '092020', '102020', '112020', '122020', '012021']
我希望我的问题很清楚! 非常感谢
您应该迭代 date_unique
并将生成的列表附加到主列表。
all_indices = []
for j in date_unique:
month_index = [i for i in range(len(date_index)) if date_index[i] == (date_unique[j])]
all_indices.append(month_index)
稍微短一点的方法是
all_indices = []
for date in date_unique:
all_indices.append([i for i in range(len(date_index)) if date_index[i] == date])