Python ObjectListView - как разбить список на два столбца
У меня есть ObjectListView в wxPython, который я хотел бы разделить на два идентичных списка, которые расположены рядом друг с другом вместо одного длинного списка с полосой прокрутки. Итак, вместо:
Column 1 -- Column 2 -- Column 3
data data data
data data data
Я хотел бы, чтобы это выглядело так:
Column 1 -- Column 2 -- Column 3 Column 1 -- Column 2 -- Column 3
data data data data data data
Конечно, если возможно, с большим количеством данных, равномерно распределенных между ними. Есть ли способ сделать это без создания двух отдельных списков? Причина, по которой я не хочу создавать два списка, состоит в том, что у меня есть один большой список объектов, который я хотел бы передать, и с двумя списками, я думаю, мне придется разделить объект на два и отправить раздел в каждый список; если элегантность вариант, я бы предпочел это.
1 ответ
Если вы используете list_B = list_A
Вы не создаете "другой" список, вместо этого вы просто говорите, что для одного и того же списка есть 2 имени, они оба указывают на одно и то же. Ты можешь использовать id()
чтобы проверить, что это правда.
>>> list_A = [1,2,3,4,5,6,7,8]
>>> id(list_A)
140229575676488
>>> list_B = list_A
>>> id(list_B)
140229575676488
>>> list_A
[1, 2, 3, 4, 5, 6, 7, 8]
>>> list_B
[1, 2, 3, 4, 5, 6, 7, 8]
>>> list_A.append(9)
>>> list_A.append(10)
>>> list_A
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list_B
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]