1

私はPythonが初めてで、このステートメントに出くわしました

data = dict( (k, v) for k, v in data.items() if v != 'null')

彼らがここで口述を構築するために何をしているのか、私は本当に知りません。少し説明していただけますか?dict() で for ループを使用する理由と、if が後に来るのはなぜですか? 私はpython docsでこのようなものを見ませんでした。

みんなありがとう

4

2 に答える 2

3

への引数は、から引き出されdict()たキーと値のペア (つまり ) で構成されるタプルを生成するジェネレータ式です。組み込み関数は、そのようなタプルのリストまたはシーケンスから辞書オブジェクトを自動的に構築できます。例:(k, v)data.items()dict()

>>> kvs = [('a', 1), ('b', 2)]
>>> dict(kvs)
{'a': 1, 'b': 2}

修飾子はif v != 'null'、値 (つまり、タプルの 2 番目の項目) が等しい要素を無視/スキップするようにジェネレーターに指示します'null'(より正確には、値が と等しくないペアのみを生成します'null')。

ジェネレータ式のより詳細な説明については、PEP 289を参照してください。

于 2012-06-25T05:13:43.027 に答える