Python–展平嵌套键
原文:https://www.geeksforgeeks.org/python-flatten-nested-keys/
有时,在处理 Python 数据时,我们可能会遇到一个问题,即我们需要对嵌套列表记录中的某些键执行展平。数据预处理时会出现这种问题。让我们讨论执行这项任务的某些方法。
方法#1:使用循环 这是执行这个任务的蛮力方法。在这种情况下,我们通过分配基键来构造新的字典,然后使用嵌套循环来执行内部键元素的展平。
# Python3 code to demonstrate working of
# Flatten Nested Keys
# Using loop
# initializing list
test_list = [{'Gfg' : 1, 'id' : 1, 'data' : [{'rating' : 7, 'price' : 4},
{'rating' : 17, 'price' : 8}]},
{'Gfg' : 1, 'id' : 2, 'data' : [{'rating' : 18, 'price' : 19}]}]
# printing original list
print("The original list is : " + str(test_list))
# Flatten Nested Keys
# Using loop
res = []
for sub in test_list:
temp1 = {
'Gfg': sub['Gfg'],
'id': sub['id']
}
for data in sub.get('data', []):
res.append({
**temp1,
'rating': data['rating'],
'price': data['price']})
# printing result
print("The flattened list : " + str(res))
Output :
原始列表为:[{'data': [{'rating': 7,' price': 4},{'rating': 17,' price': 8}],' id': 1,' Gfg': 1},{'data': [{'rating': 18,' price': 19}],' id': 2,' Gfg': 1}] 展平列表为:[{'price': 4,' rating': 7,' id': 1,' Gfg': 1},{'price': 8,' rating': 17,' id': 1,' Gfg': 1},{ '
版权属于:月萌API www.moonapi.com,转载请注明出处