2

小さなプロパティ パーサー スニペットを考えてみましょう。

testx="""var1 = foo
         var2 = bar"""

dd = { l.split('=')[0].strip():l.split('=')[1].strip() for l in testx.split('\n')} 
print(dd)
# {'var1': 'foo', 'var2': 'bar'}

それは機能しますが、で「分割」が2回呼び出されるため見苦しくなりl.split('=')[0].strip():l.split('=')[1].strip() ます。ディクショナリ内包表記を変更して、一度だけ分割し、dict エントリを次のように作成する必要があるようにするにはどうすればよいですか。

l[0].strip():l[1].strip()

そのリファクタリングには、ネストされた理解または単一レベルの理解を構築する別の方法が必要ですか?

4

2 に答える 2