Использование Python 2.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"
Проблема в том, что когда я заканчиваю с первой перестановкой и начинаю вторую перестановку, эта вторая перестановка сохраняет состояния первой перестановки. То есть во второй перестановке самолет с нулевым топливом уже приземляется.
Я переставляю ссылки на объекты? Если это так, мне нужно изменить фактические объекты.
Как мне создать список перестановок, чтобы, если я изменяю объекты в одной перестановке, она не изменяла никакую другую перестановку?