以下 for 循环将按ids预期打印列表中的每个元素:
ids = [0,1,2,3,4,5,6,7,8,9]
for item in ids:
print(item)
0
1
2
3
4
5
6
7
8
9
然而,当我构造一个应生成两个随机数的 for 循环时,该循环仅经历 5 个周期(对于偶数)。在这里,我将diffids设置为等于删除当前项目编号的 集合。diff应该是一组 9 个数字(因此,对于第一个循环diff将是[1,2,3,4,5,6,7,8,9],在第二个循环diff中将是 [0,2,3,4,5,6,7,8,9] 等...但是会发生什么列表中的奇数ids被完全跳过。当我ids在 for 循环中根本没有修改列表时,为什么会发生这种情况?ids列表是如何修改的?
ids = [0,1,2,3,4,5,6,7,8,9]
for item in ids:
print(item)
diff = ids
diff.remove(item)
test = random.sample(diff, 2)
print(test)
0
[8, 2]
2
[8, 5]
4
[1, 6]
6
[9, 8]
8
[7, 3]
跃然一笑
守着一只汪
慕的地6264312
相关分类