listt = [1, 2, 3]
for elem in listt:
if len(listt) < 20: # ограничение во избежание бесконечного цикла
listt.append(elem)
print listt
>>> [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2] # как и ожидал, получил повторение списка
listt = [1]
for elem in listt:
if len(listt) < 50: # удлинил получающийся список
listt.append(elem)
listt.append('*')
print listt
>>> [1, 1, '*', 1, '*', '*', '*', 1, '*', '*', '*', '*', '*', '*', '*', 1, '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', 1, '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*']
Число звёздочек между единицами возрастает очень красиво:
1
3
7
15
31
63
127
255
511
1023
…
Как так? Где что читать?