2016-05-29 119 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}]