2

我想把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 新手。我怎样才能做到这一点?

4

1 回答 1

4

利用defaultdict

from collections import defaultdict
trail = defaultdict(list)

当您第一次尝试访问它时,它将为任何键构建一个空列表,因此

trail[i].append(j)

将按预期工作。至于:

trail = {[]}

您需要有一个有效的字典文字的键和相应的值,例如。

{'a': 1, 'b': 2}

{[]}试图做一个set而不是例如。

>>> {1}
set([1])

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

于 2013-05-29T09:49:24.443 回答