2016-05-29 117 views
0

的分裂陣列我有一個數據結構,看起來像這樣蟒蛇 - 對象

arrayObjects = [{id: 1, array1: [a,b,c]}, {id: 2, array1: [d,e,f]}] 

,並想將其改造成這樣:

newArrayObjects = [{id: 1, term: a}, {id:1, term: b}, ... {id:2, term: f} ] 

如何做到這一點的任何想法?

這是我的最低版本現在:

for item in arrayObjects: 
     for term in item['array1']: 
      print(term, item['id']) 

澄清:我知道如何嵌套循環做到這一點,我只是要爲最Python的版本可能哈哈

+0

total。現在編輯 –

回答

4

你可以使用列表理解:

>>> a = [{'id': 1, 'array': ['a','b','c']}, {'id': 2, 'array': ['d','e','f']}] 
>>> [{'id': d['id'], 'term': v } for d in a for v in d['array']] 
[{'term': 'a', 'id': 1}, {'term': 'b', 'id': 1}, {'term': 'c', 'id': 1}, {'term': 'd', 'id': 2}, {'term': 'e', 'id': 2}, {'term': 'f', 'id': 2}]