我想知道list [:0]的含义。在以下代码中,它在做什么?
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
k=[]
while len(k) < 20:
for i in LETTERS:
k[:0] = i
print(k)
# k = ['Z', 'Y', 'X', 'W', 'V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A']
len(k)==20
时循环不中断吗?k[:0]
是一个空列表,为什么每次k内都没有列表?k[:0]
是否像堆栈一样工作,并推动较旧的项目?这里有些怪异。很难解释。
k[:0]
总是在列表开头谈论空范围。实际上,空列表的任何片都是空列表。
因为它是一个切片,所以可以迭代,尽管没有任何元素。就像一次设置多个变量一样,可以将其设置为可迭代的值,但不能设置为单个值。
k[:0] = '123' # puts '1', '2', '3' at the start
k[:0] = 123 # TypeError
while循环实际上并没有执行任何操作,因为for循环贯穿LETTERS
中的所有内容,然后破坏了条件。
程序中的步骤是:
[]
)的空白范围设置为['A']