字典是正确的数据结构吗?
Is a dictionary the right data structure for this?
我想使用一种数据结构来存储我的数据:
data[1][a]
data[1][b]
data[1][c]
data[1][d]
data[2][a]
data[2][b]
...
从一开始就知道标签 a、b、c、d,而 i 遍历列表中的 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 & d 初始化字典?
我建议一个词典列表。我建议您替换建议的迭代:
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 } )
如果你想使用字典获取数据[1][a]。你可以有一个字典的字典并像这样初始化。
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}
我想使用一种数据结构来存储我的数据:
data[1][a]
data[1][b]
data[1][c]
data[1][d]
data[2][a]
data[2][b]
... 从一开始就知道标签 a、b、c、d,而 i 遍历列表中的 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 & d 初始化字典?
我建议一个词典列表。我建议您替换建议的迭代:
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 } )
如果你想使用字典获取数据[1][a]。你可以有一个字典的字典并像这样初始化。
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}