簡體   English   中英

優化創建列表字典

[英]Optimize creating a dictionary of list

我有一個下課

class Test:
    self.value = 0
    self.name = ''

我有數百萬條記錄,我只想根據其name對選擇性記錄進行排序。 我創建了一個單獨的列表,稱為whitelist_names 我制作字典列表對象的方式是這樣的

'''input_value and input_name are being feed from a file-read'''
map_list = {}

t = Test(input_value, input_name)

if t.input_name in whitelist_names:
    name_list = []
    if t.input_name in map_list:
        name_list = map_list[t.input_name]
    name_list.append(t)
    map_list[t.input_name] = name_list

上面的代碼將永遠存在。 我是python的新手,所以只想確保我是否做對了。

在檢查某個名稱是否在列表中的過程中,花點時間是很合邏輯的。 如果白色列出的名稱都是唯一的,則可以使用集合而不是列表。 集合理解比列表快很多。

此外,我建議您使用詞典,而不是實現一個用於容納名稱和名稱顯示次數的類。 由於字典被實現為哈希映射,因此檢查條目是否存在的速度非常快。

暫無
暫無

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

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