I'm trying to convert this into a list comprehension.
Current Code
some_list = [[{"apple":"red"}, {"orange":"orange"}, {"pineapple":"yellow"}, [{"box":"brown"}, {"table":"grey"}, {"seat":"green"}], {"grapes":"purple"}, {"cherry":"red"}]]
category_list = []
for item in some_list:
tag_list = []
for elem in item:
if isinstance(elem, list):
for x in elem:
tag_list.append(x)
else:
tag_list.append(elem)
category_list.append(tag_list)
category_list
Desired Output
[[{'apple': 'red'},
{'orange': 'orange'},
{'pineapple': 'yellow'},
{'box': 'brown'},
{'table': 'grey'},
{'seat': 'green'},
{'grapes': 'purple'},
{'cherry': 'red'}]]
My Attempt
[[x for x in elem] if isinstance(elem, list) else elem for item in some_list for elem in item]
Results
[{'apple': 'red'},
{'orange': 'orange'},
{'pineapple': 'yellow'},
[{'box': 'brown'}, {'table': 'grey'}, {'seat': 'green'}],
{'grapes': 'purple'},
{'cherry': 'red'}]
But this just gets me right back to where I started.
"box","table", and"seat". This is exactly the kind of thing that would be helpful to have called out explicitly in your question. Make it easy for us to help you. See How to Ask.