繁体   English   中英

在Python2.7中将列表转换为字典的最佳方法是什么

[英]What’s the best way to Convert a list to dict in Python2.7

我有一个类似的清单:

x = ['user=inci', 'password=1234', 'age=12', 'number=33']

我想将x转换为像这样的字典:

{'user': 'inci', 'password': 1234, 'age': 12, 'number': 33}

最快的方法是什么?

您可以使用一个简单的班轮来做到这一点:

dict(item.split('=') for item in x)

列表推导(或生成器表达式)通常比使用带有lambda map更快,并且通常被认为更具可读性,请参见此处

基准测试

dictmap方法( f1

dict(map(lambda i: i.split('='), x))

天真的方法( f2

d = dict()
for i in x:
    s = x.split("=")
    d[s[0]] = s[1]
return d

只有dictf3

dict(item.split('=') for item in x)

比较方式

def measure(f, x):
    t0 = time()
    f(x)
    return time() - t0

>>> x = ["{}={}".format(i, i) for i in range(1000000)]

>>> measure(f1, x)
0.5690059661865234

>>> measure(f2, x)
0.5518567562103271

>>> measure(f3, x)
0.5470657348632812

dict(map(lambda i: i.split('='), x))

暂无
暂无

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

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