dict
を反復してもdict.key()
は呼び出されません。辞書自体は反復をサポートしています。
>>> iter({'name': 'value'})
<dict_keyiterator object at 0x7f127da89688>
BTW、dict.keys
は、インデックス作成をサポートしていないディクショナリキービューを返します。
>>> {'name': 'value'}.keys()
dict_keys(['name'])
>>> {'name': 'value'}.keys()[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing
あなたが任意のキーを取得したい場合は、あなたがnext
、iter
を使用することができます。
>>> next(iter({'name': 'value', 'name2': 'another value'}))
'name'
>>> next(iter({})) # <-- To handle empty case, pass default value
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>> next(iter({}), 'default value')
'default value'
'dictの[キー]' 'dict.keys(と同じ)[0] '? 'dict.keys()[0]'がキーを返すはずです – Hacketo
[PEP 234]のイテレータプロトコルをチェックしてください(https://www.python .org/dev/peps/pep-0234 /) – miradulo
あなたは聞いていますか? 'dicts'は順序付けされていないので、事故や運などによって全く同じではないでしょう。 – nlsdfnbch