簡體   English   中英

如何在列表中查找索引的歷史記錄?

[英]How to find the history of an index in a list?

所以可以說我有以下代碼: list1 = [1,2,3] 所以可以說我們在索引0中插入4, list1 = [4,1,2,3] 有沒有一種方法可以找到關鍵詞0,找到索引0的“歷史”? 這是我問題的簡化版本,但請想象一下,更改list1發生了許多不同的事情。

您需要一個持久的數據結構 Python列表是可變的 ,並且不存儲任何類型的歷史記錄(這是一件好事,因為開銷會很高,而且通常不希望這樣做)。

根據您實際要執行的操作,您可能可以簡單地創建列表,而不是對現有列表進行變異。 例如,代替:

ls = [1, 2, 3]
ls.insert(0, 4)

創建一個新列表:

ls = [1, 2, 3]
ls2 = [4] + ls

這樣可以保留ls ,並將其與ls2進行比較。

正如cᴘᴇᴇᴅsᴘᴇᴇᴅ建議的那樣,您還可以實現自己的類似列表的結構,將其歷史記錄在日記中。 不會太復雜,但是我建議您先研究其他選項(並驗證這確實是您所需要的 ),這在實踐中並不是很常見的事情。

為什么不為列表創建哈希表,以便以后可以查看索引歷史記錄:

list1 = [1,2,3]
hash_table={i:j for i,j in enumerate(list1)}
print(hash_table)

輸出:

{0: 1, 1: 2, 2: 3}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM