好清單歸來子列表,我有這樣的例子:名單
mylist = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]
這是一個列表的列表。我想保留每個子列表的前5個點。如果這是一個簡單的列表,我會打電話給mylist[:5]
,就這些。現在,我可以想象的最簡單的方法是遍歷mylist並將每個子列表的前5個點複製到新列表中。
newlist = []
for i in mylist:
newlist.append(i[:5])
但是如果我的列表長度爲10.000+會發生什麼。你知道更快的方法嗎?
處理所有你必須......過程中的所有表至少一次的名單。所以沒有比線性'O(n)'更復雜的方法。如果你不需要一次完成所有的結果,你可以編寫一個函數來按需獲取一個特定的子列表。 – BartoszKP