2

lists を a の中に入れたい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}

{[]}代わりにa を作ろうとしますset

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

ただし、セットはハッシュ可能なアイテムのみをサポートします。hash tableを参照してください。したがって、リスト (変更可能) はハッシュ可能ではありません。

于 2013-05-29T09:49:24.443 に答える