我有一个json文件,看起来像下面这样:
[
{
"category1":"0120391123123"
},
[
{
"subcategory":"0120391123123"
},
[
{
"subsubcategory":"019301948109"
},
[
{
"subsubsubcategory":"013904123908"
},
[
{
"subsubsubsubcategory":"019341823908"
}
]
]
]
],
[
{
"subcategory2":"0934810923801"
},
[
{
"subsubcategory2":"09341829308123"
}
]
],
[
{
"category2":"1309183912309"
},
[
{
"subcategory":"10293182094"
}
]
]
]
我还有一份类别列表需要在原始列表中查找。如果该类别存在于categoriesToFind中,则还需要找到所有子类别并返回它们。
categoriesToFind = ['019301948109', '1309183912309']
finalCategories = []
def findCategories(currentList, isFirstIteration):
for x in currentList:
if type(x) is dict and (next(iter(x.values())) in categoriesToFind or not isFirstIteration):
finalCategories.append(next(iter(x.values())))
if len(currentList) < currentList.index(x) + 1:
findCategories(currentList[currentList.index(x) + 1], False)
findCategories(data, True)
我希望finalCategories包含以下内容:
['019301948109', '013904123908', '019341823908', '1309183912309', '10293182094']
category1
是根列表中的字典,而category2
是嵌套列表中的字典。这是一个打字错误还是应该像这样? - b-fg