字典是这方面的正确数据结构吗?

2024-04-25 17:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用一种数据结构,它允许我这样存储数据:

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和d初始化字典?你知道吗


Tags: theto数据数据结构列表fordatadictionary
2条回答

如果你想用dict得到数据[1][a],你可以用dict的dict来初始化。你知道吗

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}

我建议列一份字典清单。我建议您替换建议的迭代:

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 } )

相关问题 更多 >