2017-09-15 85 views
0

Python新手,但將大型列表轉換爲字典時遇到了一些麻煩。列表與字典長度差異?

flat_list = [item for sublist in zipped_list_total for item in sublist] 
print(flat_list) 
print(len(flat_list)) #result is 9673 

ticker_dictionary = dict([(d[0], d[1:]) for d in flat_list]) 
print(len(ticker_dictionary)) #result is 6396 

給你一些背景,zipped_list_total是追加3名不同的壓縮列表連成一個大的壓縮列表的列表。 Flat_list幾乎只是向下鑽取一個級別的壓縮列表。例如.. len(zipped_list_total)是3,len(flat_list)是9673

如果我們看一下flat_list,數據格式如下: [(a,b,c),(d,e,f ).....]

基本上我想做一個字典,說{A:(b,C),d(E,F)...}

當我運行的代碼上面,它看起來像列表正確地轉換成一個字典,直到某一點,但然後停止。是否有一個原因,爲什麼轉換會停止(這是否與內存有關?)

感謝您提前尋求任何幫助,您可以提供。

+9

您可能有重複的密鑰。字典只能存儲每個密鑰一次。 – Max

+0

ohhhh你是一個聰明人 - 我知道這是一個規則,但我不認爲在這種情況下檢查它。你是對的 - 謝謝你先生 –

+0

我會做出這個答案,所以你可以接受它並關閉這個問題。 – Max

回答

1

您可能有重複的密鑰。字典只能存儲每個密鑰一次。