【发布时间】:2020-12-16 01:09:04
【问题描述】:
通过使用此 Python 代码(我正在使用 Python 3.6):
length = 4
overall = [["row" + str(length + 1)] +
[1.0] + [0.0] * (length - 1)]
for i in range(1, length):
overall += [["row" + str(i + length + 1)] +
[0.0] * i + [1.0] + [0.0] * (length - (i + 1))]
我获得了以下列表:
输出 1:
overall = [['row5', 1.0, 0.0, 0.0, 0.0],
['row6', 0.0, 1.0, 0.0, 0.0],
['row7', 0.0, 0.0, 1.0, 0.0],
['row8', 0.0, 0.0, 0.0, 1.0]]
现在,我想对上面的代码进行参数化。
给定一个参数,例如n_repetitions = 3,我想获取:
输出 2:
overall = [['row5', 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0],
['row6', 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0],
['row7', 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0],
['row8', 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]]
其中,在每个“行”中,由 4 个单元素数字列表组成的初始“组”已重复 n_repetitions 次(在此示例中为 3)。
哪种方式是自动执行此操作的好方法(例如:使用 for 循环、列表推导式……)?
【问题讨论】:
标签: python python-3.x list for-loop