如何将一组格式不佳的数据对转换为字典?
我想把一个包含元组的字符串转换成字典,但这个字符串的格式不是很好。
比如说,字符串是这样的:s = "banana 4 apple 2 orange 4"
我希望得到的字典是这样的:d = {'banana':'4', 'apple':'2', 'orange':'4'}
我遇到的问题是,字符串中的空格既用来分隔键值对,也用来分隔每一对的内容。这种情况下,我该怎么处理呢?
4 个回答
0
使用 .split()
方法,把字符串分开,然后每次取出两个元素,最后把这些元素传给 dict()
来创建字典。
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'}
>>>
3
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个特定的功能时,发现它没有按照预期工作。这时候,我们就需要去查找解决方案,看看其他人是怎么处理类似问题的。
在这个过程中,StackOverflow是一个非常有用的资源。它是一个问答网站,程序员们可以在这里提问和回答问题。你可以搜索你遇到的问题,看看有没有人已经问过类似的问题,或者有没有人提供了解决方案。
总之,遇到问题时,不要着急,先去查找资料,看看别人是怎么解决的。这样可以帮助你更快地找到答案,也能让你在编程的路上走得更顺利。
>> s = "banana 4 apple 2 orange 4"
>> lst = s.split()
>> dict(zip(lst[::2], lst[1::2]))