字典列表的字符串(python) [英] string to list of dictionaries (python)

查看:97
本文介绍了字典列表的字符串(python)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串,需要将其拆分为3种方式,然后分成字典列表.

I have a string that needs to be split 3 ways and then into a list of dictionaries.

given_string = 'name:mickey,age:58|name:minnie,age:47,weight:60' 

data = []

data = [value.split(',') for value in given_string.split('|')]

data = [['name:mickey', 'age:58'], ['name:minnie', 'age:47', 'weight:60']]

现在,我想在':'上再分割一次,并让数据包含两个字典的列表,这样,当我输入"data [1] [age]"时,我得到47.

Now I want to split this one more time on the ':' and have the data contain a list of two dictionaries so that when I input say data[1][age], I get 47.

基本上,我想我希望它能够正常工作:

Basically, I think I want this for it to work:

data = [{'name': 'mickey', 'age': '58}, {'name': 'minnie', 'age': '47', 'weight': '60'}] 

我相信,数据最终应该是字典列表,但是一旦我将字符串分割成两个列表,就会在将其分割为':'并将子列表转换为字典时感到困惑.

I believe that ultimately, data should be a list of dictionaries but once I split the string into two lists, I get confused in splitting it on the ':' and then converting the sublists to a dictionary.

推荐答案

难缠.

>>> [ dict(y.split(':') for y in x.split(',')) for x in 'name:mickey,age:58|name:minnie,age:47,weight:60'.split('|')]
[{'age': '58', 'name': 'mickey'}, {'age': '47', 'name': 'minnie', 'weight': '60'}]

这篇关于字典列表的字符串(python)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆