这会一遍又一遍地删除所有其他元素,直到只剩下一个
>>> L = range(100) # for Python3, use L = list(range(100))
>>> while len(L) > 1:
... del L[::2]
...
>>> L
[63]
我不确定“循环列表”是什么意思,但也许需要进行此修改
>>> L = range(100)
>>> while len(L) > 1:
... del L[len(L)%2::2]
...
>>> L
[99]
The len(L)%2
指del L[1::2]
如果 L 的长度是奇数
或者,如果您想看看发生了什么:
>>> L = range(100)
>>> while len(L) > 1:
... del L[len(L)%2::2]
... L
...
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
[3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99]
[3, 11, 19, 27, 35, 43, 51, 59, 67, 75, 83, 91, 99]
[3, 19, 35, 51, 67, 83, 99]
[3, 35, 67, 99]
[35, 99]
[99]