嗨,我有一个有线的情况,我想操纵一个字典键值,列表列表包括字典这里是我有数据的形成
my_list=[{'data': [[{'name': [0.0, 0.0]}], [{'name': [False, False]}], [{'name': [u'xm', u'xc']}]],'name': u'new',}]
我想要做的是将其转换为:
my_list=[{'data': [[{'name': 0.0},{'name': 0.0}], [{'name': False},{'name': False}], [{'name': u'xm'},{'name': u'xc'}]],'name': u'new',}]
我到目前为止所尝试的是:
new_lists = []
for new in x[0]['data']:
for new_list in new:
for g in new_list['name']:
new_list['name'][new_list['name'].index(g)] = {'name': g}
for stay in x[0]['data']:
new_lists.append(stay[0]['name'])
x[0]['data']=new_lists
print(x)
我可以在这里得到一些帮助吗?
答案 0 :(得分:0)
这里我们去一个与键值无关的版本:
my_list=[{'data': [[{'foo': [0.0, 0.0]}], [{'bar': [False, False]}], [{'pop': [u'xm', u'xc']}]]}]
buff = []
for elt in my_list[0]['data']:
a = []
k = elt[0].keys()[0]
val = elt[0][k]
for i in val:
a.append({k: i})
buff.append(a)
output = [{'data': buff}]
结果:
[{'data': [[{'foo': 0.0}, {'foo': 0.0}], [{'bar': False}, {'bar': False}], [{'pop': u'xm'}, {'pop': u'xc'}]]}]