繁体   English   中英

这是构建字典的最快方法吗?

[英]Is this the fastest way to build dict?

我正在从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')被调用了两次,创建了过多的临时元组

未经测试,但应该可以

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM