如何将形式不良的数据对列表转换为字典?

时间:2010-11-25 06:09:21

标签: python

我想获取一个包含未完全分离的元组的字符串,并将它们转换为字典。

s =“banana 4 apple 2 orange 4”

d = {'banana':'4','apple':'2','orange':'4'}

我遇到了问题,因为空间用于分隔值和对。什么是正确的伎俩?

4 个答案:

答案 0 :(得分:5)

简单但在此处提供解决方案:

使用split()

>>> s = "banana 4 apple 2 orange 4"
>>> s.split()
['banana', '4', 'apple', '2', 'orange', '4']
>>> 

将它们分组(此处需要进行一些错误检查)

>>> k = [(x[t], x[t+1]) for t in range(0, len(x) -1, 2)]
>>> k
[('banana', '4'), ('apple', '2'), ('orange', '4')]
>>> 

从中创建一个字典

>>> dict(k)
{'orange': '4', 'banana': '4', 'apple': '2'}
>>> 

答案 1 :(得分:3)

>> s = "banana 4 apple 2 orange 4"
>> lst = s.split()
>> dict(zip(lst[::2], lst[1::2]))

答案 2 :(得分:0)

致电.split()get the elements 2 at a time,并将其传递给dict()

答案 3 :(得分:-1)

我不知道python但是应该可以将字符串转换为数组,然后通过交替名称和放大来通过数组迭代来创建字典。值。