【发布时间】:2021-11-01 11:09:41
【问题描述】:
我有一个像下面这样的字典,我想编写一个递归函数来返回所有产品:
category = {'name': 'electronic_devices',
'sub_categories': [
{
'name': 'mobile-phone',
'sub_categories': [],
'products': [
'Sony xperia 1'
'Samsung Galaxy A32',
'Apple iphone 12',
'Xiaomi redmi 9'
]
},
{
'name': 'laptop',
'sub_categories': [
{
'name': 'ultrabook',
'sub_categories': [],
'products': [
'Asus ROG strix',
'Microsoft surface book 3',
'Lenovo ideapad 3'
]
}
],
'products': [
'Dell inspiron 3583-5278',
'HP pavilion dk1056wm'
]
}
],
'products': []
}
我的功能是:
def get_product(dic):
for k, v in dic.items():
if k == 'sub_categories':
return get_product(k)
elif k == 'products':
return v
print(get_product(category))
此函数以错误结束。 谁能帮我找出问题?
【问题讨论】:
标签: python function dictionary recursion nested