0

我在wxPython中有一個ObjectListView,我想將其拆分爲兩個相同的列表,它們彼此相鄰,而不是一個滾動條的長列表。因此,而不是:Python ObjectListView - 如何將列表拆分爲兩列

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 

當然,有均勻他們之間更多的數據拆分,如果可能的話。有沒有辦法做到這一點,而無需製作兩個單獨的列表?我不想創建兩個列表的原因是我有一個大對象列表,我想通過它,並有兩個列表,我想我必須將對象分成兩部分,並向每個列表發送一個部分;如果優雅是一種選擇,我更喜歡它。

回答

0

如果您使用list_B = list_A您並未創建「另一個」列表,而只是說同一列表中有兩個名稱,它們都指向同一個列表。您可以使用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] 
+0

我應該更清楚。我不想分割一個列表,我試圖將一個對象列表視圖並排分成兩個部分,而不是一個垂直滾動條部分。這兩個部分不會被複制,第二個將是第一個信息的延續 - 這是間距問題,我寧願有兩個短列表並列,而不是一個帶滾動條的長列表。 – linus72982

+0

定義一個包含六列的列表並相應地放置數據。對於用戶來說,這看起來像一個列表,我知道不可能把例如第3列和第4列之間的分隔符。 – Werner

+0

@ linus72982好吧,我明白你現在在駕駛什麼。如Werner所說,只需定義適當分配數據所需的列數。您當然可以定義7列,第4列包含分隔字符或顏色來分割「2」數據集部分。請注意,如果列表中包含奇數個數據集,那麼您將填充最後一個數據集。 –