我有一个看起来像这样的数据结构
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'])
澄清:我知道如何使用嵌套循环执行此操作,我只是为了获得最可能的pythonic版本哈哈
答案 0 :(得分: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}]