在python中,对象列表排列不是相互独立的

2024-10-03 09:16:47 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python2.7。你知道吗

我在一个列表中有四个不同的自定义“飞机”对象,每个对象都有自己独特的属性。你知道吗

根据我的要求,我需要生成所有可能的飞机订单排列:

    # airplaneList = list of 4 airplane objects
    airplaneListOrderings = list(itertools.permutations(airplaneList))

对于每个排列,我通过程序运行排列列表,并在此过程中更改飞机属性,例如:

for permutation in airplaneListOrderings:
    for plane in permutation:
        if plane.fuel = 0:
            plane.state = "landing"
        else:
            plane.state = "waiting"

问题是,当我完成第一个置换并开始第二个置换时,第二个置换保存了第一个置换的状态。也就是说,在第二个排列中,燃油为0的飞机已经着陆了。你知道吗

我正在排列对象引用吗?如果是这样,我需要重新排列实际对象。你知道吗

如何创建排列列表,以便在一个排列中更改对象时不会更改任何其他排列?你知道吗


Tags: of对象in订单列表for属性list