你不能为了[P]申报清单的项目,因为p在这种情况下是一个列表指数。你可能想要的是一个字典,如果你想能够引用他们的p。 否则,使用append。
快译通方法:
num = 8
order = {}
p = 0
for i in range(num):
for t in range(i+1 , num):
order[p] = [i,t]
p += 1
>>> order
{0: [0, 1], 1: [0, 2], 2: [0, 3], 3: [0, 4], 4: [0, 5], 5: [0, 6], 6: [0, 7], 7: [1, 2], 8: [1, 3], 9: [1, 4], 10: [1, 5], 11: [1, 6], 12: [1, 7], 13: [2, 3], 14: [2, 4], 15: [2, 5], 16: [2, 6], 17: [2, 7], 18: [3, 4], 19: [3, 5], 20: [3, 6], 21: [3, 7], 22: [4, 5], 23: [4, 6], 24: [4, 7], 25: [5, 6], 26: [5, 7], 27: [6, 7]}
>>> order[4]
[0, 5]
列表append方法:
num = 8
order = []
p = 0
for i in range(num):
for t in range(i+1 , num):
order.append([i,t])
p += 1
>>> order
[[0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [3, 4], [3, 5], [3, 6], [3, 7], [4, 5], [4, 6], [4, 7], [5, 6], [5, 7], [6, 7]]
>>> order[4]
[0, 5]
在范围(7)中使用列表理解'[[i,j]为范围(7)中的j]' –
看起来您希望列表的最后一个元素是'[7,7] '而不是'[6,6]'?而且,如果你想要成对的相同数字还不是很清楚:'[0,0]'出现,但'[3,3]'不出现。 – fuglede