2017-09-15 29 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

您可能有重复的密钥。字典只能存储每个密钥一次。