我想使用一种允许我存储数据的数据结构:
data[1][a]
data[1][b]
data[1][c]
data[1][d]
data[2][a]
data[2][b]
... 标签a,b,c,d从一开始就知道了,而我只是从列表中的1,2,...开始。
我考虑过使用字典:
dict={} #How to initialize the dictionary ?
mylist=(1, 2, ...)
for i in mylist:
dict[i][a]=something
dict[i][b]=something_else
etc
1)它是最好的数据结构吗?否则你会用什么? 2)如果使用字典结构如何使用标签a,b,c和amp;来初始化字典。 d?
答案 0 :(得分:1)
如果你想使用dict获得数据[1] [a]。你可以有一个dicts的词典,并像这样初始化。
dict={}
mylist=(1, 2, 3)
labels = ('a','b','c','d')
something = 'foo'
for i in mylist:
for l in labels:
if(i in dict):
dict[i].update({l:something})
else:
dict[i] = {l:something}
答案 1 :(得分:0)
我建议列出一个词典。我建议您替换建议的迭代:
for i in mylist:
dict[i][a]=something
有了这个:
for elem in list_of_dicts:
elem[a] = something
如果由于某种原因,您确实需要列表索引,则可以执行以下操作:
for i, elem in enumerate(list_of_dicts):
elem[a] = something # or list_of_dicts[i][a] = something
关于初始化的问题。
list_of_dicts = list()
list_of_dicts.append( { a : b, c : d } )
list_of_dicts.append( { e : f, g : h } )