2016-09-06 3 views
-1

Привета У меня есть проводная ситуация здесь, что я хочу, чтобы манипулировать словарь значения ключа, которое список списки включают словари здесь является формированием данных у меня естьКак манипулировать список списка словарей

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) 

Могу ли я помочь?

+1

Что вы пробовали? – RemcoGerlich

+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'}]]}] 
+0

мой код в сообщении тоже отлично работает: D –

Смежные вопросы