Python: создание отдельной копии каждого объекта класса в спискеPython

Программы на Python
Anonymous
Python: создание отдельной копии каждого объекта класса в списке

Сообщение Anonymous »

Как мне сделать копию списка объектов в классе Python, чтобы каждая из копий представляла собой отдельный экземпляр указанного класса Python?

Предположим, у меня есть класс Python

Код: Выделить всё

class myClass():
def __init__(self, neighbor):
self.neighbor = neighbor
Дополнительно предположим, что myList = [a,b,c,d,...] представляет собой список объектов myClass, в котором каждая запись в myList имеет еще одну запись в myList, заполняющую атрибут соседа. Например, может быть

Код: Выделить всё

a.neighbor = b
b.neighbor = c
etc.
Я хочу сделать копию myList, записи которой являются новыми объектами myClass (они должны быть разными объектами), но иметь непосредственно сопоставимые данные myClass.
Конкретно (и наивно) мне нужна функция, которая возвращает

Код: Выделить всё

newList = [a0,b0,c0,d0,...]
с

Код: Выделить всё

a0.neighbor = b0
b0.neighbor = c0
etc.
Если я смогу реализовать операцию в скобках ниже, я получу то, что хочу.

Код: Выделить всё

def myFunction(myList):
myDict = {}
newList = []
for item in myList:

(create a myClass object called item0)
newList = newList.append(item0)

myDict{item} = item0

# populate the neighbor data for each new item
for item in myList
myDict{item}.neighbor = myDict{item.neighbor}

return newList

Как реализовать процедуру, описанную в скобках?

Подробнее здесь: https://stackoverflow.com/questions/788 ... -in-a-list

Вернуться в «Python»