Я создал список, содержащий экземпляры класса, каждый из которых имеет пустой список в качестве атрибута. Я пытался добавить один из этих списков на каждой итерации моего скрипта, и вместо этого все они были добавлены. Код выглядит следующим образом:Python: добавление атрибута экземпляра для экземпляров в списке
class generation:
def __init__ (self, number, container=[]):
"""This is the class containing lists"""
self.n=number
self.cont=container
class hybrid_variant:
def __init__ (self, generation):
"""Instances of this class go into lists in instances of generation"""
self.gen=generation
generation_list=[]
for x in range(3):
hybrid=hybrid_variant(generation= x+1)
new_generation=True
for elem in generation_list:
if elem.n == hybrid.gen:
new_generation=False
if new_generation==True:
generation_list.append(generation(hybrid.gen))
for elem in generation_list:
if elem.n == hybrid.gen:
elem.cont.append(hybrid)
Вместо того, чтобы один элемент в каждом атрибуте контейнера всех поколений каждое поколение имеет все три элемента.
код форматирование сломано; Кроме того, было бы неплохо прочитать http://www.python.org/dev/peps/pep-0008/ –