我有一个字符串如下
gmr='rule:unique,attribute:geo,name:unq1,rule:sum,attribute:sales,name:sum_sales'
如果你清楚地看到它的两种字典 规则:唯一,属性:geo,名称:unq1 和 规则:总和,属性:销售,名称:销售总额你知道吗
我想把它们转换成如下
[
{'rule': 'sum', 'attribute': 'sales', 'name': 'sum_sales'},
{'rule': 'unique', 'attribute': 'geo', 'name': 'uniq1'}
]
请帮忙
我试过了
gmr='rule:unique,attribute:geo,name:unq1,rule:sum,attribute:sales,name:sum_sales'
dlist=[]
at_rule_gm=(x.split(':') for x in gmr.split(','))
dict(at_rule_gm)
但在这里我只得到最后一本字典。你知道吗
dict
总是给出一个字典,而不是list
个字典。对于后者,您可以在第一次按'rule:'
拆分后使用列表理解:gmr='规则:唯一,属性:geo,名称:unq1,规则:总和,属性:销售,名称:销售总额' 拆分\u str=gmr.split公司(',') 数据列表=[]
对于范围内的num(0,len(split\u str),3):
从OP示例开始:
先列一张空的单子。你知道吗
在列表上用
entry
循环,由gmr.split(',')
产生将
entry.split(':')
存储到pair
检查
pair
(键)中的第一个值是否为'rule'
如果是这样,请在
dlist
中附加一个新的空字典将对存储到
dlist
的最后一个条目中:打印结果:
看起来像是OP想要得到的。你知道吗
相关问题 更多 >
编程相关推荐