这是我的功能:
extract_unique_elements([2,[[2,4,5],"c",[[["c","d"]]]]])
应返回:{2, 4, 5, “c”, “d”}
(以集合的形式)。
我找了一些答案,但他们都是2D列表。 谢谢。 但现在我已经有了解决方案。谢谢大家的帮助。
def extract_unique_elements(lst):
unique = []
def recursion_occurs_here(element):
for item in element:
if isinstance(item, list):
recursion_occurs_here(item)
else:
unique.append(item)
recursion_occurs_here(lst)
extracted = set(unique)
return extracted
答案 0 :(得分:4)
您可以使用递归来展平列表:
loofah
输出:
def flatten(d):
return {i for b in [[i] if not isinstance(i, list) else flatten(i) for i in d] for i in b}
print(flatten([2,[[2,4,5],"c",[[["c","d"]]]]]))