Форум сайта python.su
Сначала надумал отрастить списку хвост:
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, '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*']
Отредактировано (Янв. 17, 2012 00:21:48)
Офлайн
1.
>>> l=[1,2,3]
>>> l*=10
>>> l
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
Офлайн
2.
>>> l=[1,2,3]
>>> l+="*"
>>> l
[1, 2, 3, '*']
>>> l*=10
>>> l
[1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*', 1, 2, 3, '*']
Офлайн
jamЧто значит “что читать?”? Читать нужно свой код, в которм вы запрограммировали такой алгоритм. Пройдитесь по нему отладчиком.
Как так? Где что читать?
Офлайн
jamhttp://docs.python.org/reference/compound_stmts.html#the-for-statement
Ожидал, что будет добавляться по одному знаку после прохода списка, но не был уверен. Однако такого точно не ожидал…
Отредактировано (Янв. 17, 2012 08:03:28)
Офлайн
jamПосле первой итерации listt =
Ожидал, что будет добавляться по одному знаку после прохода списка, но не был уверен. Однако такого точно не ожидал…
Отредактировано (Янв. 17, 2012 16:28:14)
Офлайн