多数のキーで構成された辞書が必要で、値は多数の文字列を含むリストでなければなりません。(Pythonで)
私は試した:
d1[key].append(value)
しかし、Pythonは次のように述べています。
AttributeError: 'str' object has no attribute 'append'.
次のようなものが必要です:{a:[b,c,d,e],b:[t,r,s,z]....}
どうすればよいですか?
前もって感謝します。
多数のキーで構成された辞書が必要で、値は多数の文字列を含むリストでなければなりません。(Pythonで)
私は試した:
d1[key].append(value)
しかし、Pythonは次のように述べています。
AttributeError: 'str' object has no attribute 'append'.
次のようなものが必要です:{a:[b,c,d,e],b:[t,r,s,z]....}
どうすればよいですか?
前もって感謝します。
次を使用できますcollections.defaultdict
。
>>> from collections import defaultdict
>>>
>>> d = defaultdict(list)
>>> d['key'].append(5)
>>> d
defaultdict(<type 'list'>, {'key': [5]})
>>> dict(d)
{'key': [5]}
これを試して:
d1['something'] = []
d1['something'].append('a string')
d1['something'].append('another string')
d1['another'] = []
d1['another'].append('woohoo!')
または、次を使用しdefauldict
ます。
from collections import defaultdict
d1 = defaultdict(list)
d1['something'].append('a string')
d1['something'].append('another string')
d1['another'].append('woohoo!')
または、次を使用しsetdefault
ます。
d1 = {}
d1.setdefault('something', []).append('a string')
d1.setdefault('something', []).append('another string')
d1.setdefault('another', []).append('woohoo!')
リストの辞書がある場合は、次のsetdefault
メソッドを使用できます。
d1.setdefault(key, []).append(value)
しかし、私にとっては、文字列の辞書がありd1[key]
、リストではなく文字列を提供しているようです。リストの最初の要素を追加しようとしたときに、次を使用した場合に発生する可能性があります。
d1[key] = value1
キーの辞書の値key
は文字列です。代わりに、次を試してください。
d1[key] = [value1]
append
d1[key] はリストであるため、メソッドを呼び出すことができます
追加dict
するlist
前に、の要素を作成する必要があります。
d1[key] = []
d1[key].append(value)