在Python中,添加到列表会覆盖对象的某些属性

在Python中,添加到列表会覆盖对象的某些属性,python,Python,我正在尝试制作一个类序列的对象列表。但是init_seqs[i].seq对于所有列表都是相同的(因为init_seqs[i].seq覆盖init_seqs[i-1].seq),其他属性保持不变。下面是我的代码。请让我知道我在哪里犯错 class Sequence(object): def __init__(self, seq, make_span): self.seq=seq self.make_span=make_span def getMake_span(self):

我正在尝试制作一个类序列的对象列表。但是init_seqs[i].seq对于所有列表都是相同的(因为init_seqs[i].seq覆盖init_seqs[i-1].seq),其他属性保持不变。下面是我的代码。请让我知道我在哪里犯错

class Sequence(object):

def __init__(self, seq, make_span):
    self.seq=seq
    self.make_span=make_span

def getMake_span(self):
    return self.make_span

def __cmp__(self,other):
    other_makespan=other.getMake_span()
    if self.getMake_span()>other_makespan:
        return 1
    if self.getMake_span()<other_makespan:
        return -1
    else:
        return 0

class FlowShopGA(object):
....
....
def createPopultation(self):
    init_seqs=[]
    jobs=list(xrange(self.numJobs))
    for i in xrange(self.POPULATION_SIZE):
        random.shuffle(jobs)
        r = Sequence(jobs,self.calc_MakeSpan(jobs))
        init_seqs.append(r)
    sort_init_seqs = sorted(init_seqs, key=lambda Sequence: Sequence.make_span)
    self.seqs = sort_init_seqs[:self.EVOLVING_POPULATION_Size]
类序列(对象):
定义初始(自我、顺序、制造跨度):
self.seq=seq
self.make\u span=make\u span
def getMake_span(自身):
返回self.make_span
定义cmp(自身、其他):
other\u makespan=other.getMake\u span()
如果self.getMake_span()>其他_makespan:
返回1

如果self.getMake_span()所有实例都被传递给同一个对象。先抄

r = Sequence(jobs[:], self.calc_MakeSpan(jobs))

所有实例都被传递给同一个对象。先抄

r = Sequence(jobs[:], self.calc_MakeSpan(jobs))

所有实例都被传递给同一个对象。先抄

r = Sequence(jobs[:], self.calc_MakeSpan(jobs))

所有实例都被传递给同一个对象。先抄

r = Sequence(jobs[:], self.calc_MakeSpan(jobs))