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

时间:2017-01-10 08:54:42

标签: python python-2.7 list dictionary type-conversion

我有一个列表:

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

我想将x转换为dict,如:

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

最快捷的方式是什么?

3 个答案:

答案 0 :(得分:4)

你可以用一个简单的衬垫来做到这一点:

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

列表推导(或生成器表达式)通常比将maplambda一起使用更快,并且通常被认为更具可读性,请参阅here

答案 1 :(得分:2)

基准

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

答案 2 :(得分:1)

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