0

ファイルから要素リストを読み込んでxml、データを 2 つの辞書にしています。

これが最速の方法でしたか?(私はこれが最善だとは思いません。皆さんはいつも私を驚かせます.;-)

ADict = {}
BDict = {}
for x in fields:
    key = x.get('key')
    ADict[key] = x.find('A').text
    BDict[key] = x.find('B').text

いちいち追加するのはまずいと思いますが、一行で書いてください。別名、このようなよりpythonicな方法

 ADict,BDict = [dict(k) for k in zip(*([(x.get('key'),x.find('A').text),(x.get('key'),x.find('B').text)] for x in fields))]

私はそれが良いとは思いません.2つの理由は、1つx.get('key')目は2回呼び出され、一時タプルが多すぎることです.

4

1 に答える 1

4

テストされていませんが、動作するはずです

ADict = dict((x.get('key'), x.find('A').text) for x in fields)
BDict = dict((x.get('key'), x.find('B').text) for x in fields)
于 2012-08-31T12:13:00.583 に答える