Найти - Пользователи
Полная версия: функция .append()
Начало » Python для новичков » функция .append()
1 2
g0rd0n
>>> a =
>>> a.append(a)
>>> a
[1, ]
>>> a
[1, ]
>>> a
[1, ]
>>>
я извиняюсь, если это обсуждалось!
Как представить a?
shiza
у тебя получаеться закольцовывание.
>>> a == a[1] == a[1][1] == a[1][1][1] == a[1][1][1][1]
True
т.е. a, a, a и т.д. это одно и тоже.
g0rd0n
ну да, так а как питон такое нормально интерпритирует?
Cleric
g0rd0n
ну да, так а как питон такое нормально интерпритирует?
это интересный вопрос, не менее интересный вопрос, зачем вам это всё нужно (создание циклических ссылок)?
shiza
он такие моменты специально отслеживает =)
g0rd0n
я только вчера знакомиться с питоном начал.
Попробовал вот… :)
ZZZ
Хм… Ниразу такого не делал… Интересно…
Но правда интересно, где такое может понадобиться? И насколько нормально это дело будет обработано сборщиком мусора?

shiza
>>> a == a == a == a == a
True
ИМХО, конечно, но более наглядно будет так:
>>> a is a[1][1][1][1][1][1][1]
True
Всё-таки эти объекты не просто равны, а являются одним и тем же.

P.S. Дарвиния – одна из лучших, из когда-либо придуманных, игр!
Cleric
ZZZ
И насколько нормально это дело будет обработано сборщиком мусора?
если ссылок из вне больше нет, то список нормально удалится сборщиком (в том его и работа, искать циклические ссылки), тут есть одно НО, только если у объекта/ов в списке нет перегруженного __del__.
Для полного прояснения рекомендую почитать посты Анднея Светлова
ZZZ
Там последний пост как раз мой… :-)
А вообще да, правильно. Забывается то, с чем долго не сталкиваешься.
fritifly
Доброго времени суток. Просидел всю ночь, так и неразобрался:
Вобщем задача такова, первый элемент тюпла qqq = тюплу . Также есть еще одит тюпл i.
Задача добавить каждый элемент тюпла i, к первому элементу qqq.
Вроде постарался объяснить понятно, ниже код, в нем все логично и понятно, что я пытался сделать.
Особое внимание прошу обратить на переменную temp_hren!!!
qqq = [[1, 2], [3, 4]]
i = [10, 11, 12]
temp = 0

hren = qqq.pop(0)
print "qqq - ", qqq, "\nhren - ", hren, "\n"
for temp in i:

temp_hren = hren
print "temp_hren #1 - ", temp_hren
qqq.append(hren)
qqq[-1].append(temp)
print "temp_hren #2 - ", temp_hren, " - eto normalno?\n"

print "qqq = ", qqq
print "dolzno bit qqq = [[3, 4], [1, 2, 10], [1, 2, 11], [1, 2, 12]]"
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB