我正在从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))]
我认为这不是更好,有两个原因,
首先,x.get('key')
被调用了两次
第二,创造太多的临时元组
答案 0 :(得分: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)