我想把lists放入dictionary中。我想这样做:

trail = {[]}

for i in states:
    for j in states:
        if(max_val < temp_V[j][i]):
            max_val = temp_V[j][i]
            trail[i].append(j)

但我在trail = {[]}处收到一个错误。我是Python新手。我该怎么做?

最佳答案

使用defaultdict

from collections import defaultdict
trail = defaultdict(list)

当您第一次尝试访问任何键时,它将为其构造一个空列表,因此
trail[i].append(j)

将按预期工作。至于:
trail = {[]}

对于一个有效的字典文本,你需要有一个键和相应的值。
{'a': 1, 'b': 2}

{[]}尝试生成一个set而不是eg。
>>> {1}
set([1])

但是集合只支持散列项,请参见hash table,因此列表(可以修改)是不可散列的。

关于python - 将列表放在字典中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16810652/

10-11 06:20