1
Python
は、dict
をfor...in...
という構文で入力するとキーリストを返すだけです。Pythonでdictをループするとどうなりますか
しかし、何がdictに起こりますか?
help(dict)
を使用すると、メソッドリストに__next()__
メソッドが表示されません。だから私はdict
に基づいて派生クラスを作成したい場合:
class MyDict(dict)
def __init__(self, *args, **kwargs):
super(MyDict, self).__init__(*args, **kwargs)
とfor...in...
d = Mydict({'a': 1, 'b': 2})
for value in d:
私は何をすべきと値のリストを返しますか?
なぜ 'dict'に' __next__'があるのですか? '__iter__'を持ち、その関数が返すオブジェクトは' next'をサポートしています。あなたのクラス 'MyClass'は基本クラス' dict'から '__iter__'を継承しているので、' dict'と同じ動作をします。 –
これはあなたや他の人たちを混乱させるかもしれません。だれかがキーを反復することを期待しています。突然ここで値を取得します(たとえ変数の名前が 'value'でも)。代わりに、代わりに 'for value in d.values()'を使用してください。それは何が起きているのかは間違いありません。 – Evert
私は 'yield'キーワードと[Generators](https://wiki.python.org/moin/Generators)があなたが探しているものと信じています。 – Maurice