我有一个字典列表,其中字典也包含一个列表。在
我想生成一个set各自嵌套列表的值,这样我就得到了所有唯一项的集合(在本例中,是业余爱好)。在
我觉得一个set非常适合这一点,因为它会自动删除任何重复项,给我留下所有独特爱好的集合。在people = [{'name': 'John', 'age': 47, 'hobbies': ['Python', 'cooking', 'reading']},
{'name': 'Mary', 'age': 16, 'hobbies': ['horses', 'cooking', 'art']},
{'name': 'Bob', 'age': 14, 'hobbies': ['Python', 'piano', 'cooking']},
{'name': 'Sally', 'age': 11, 'hobbies': ['biking', 'cooking']},
{'name': 'Mark', 'age': 54, 'hobbies': ['hiking', 'camping', 'Python', 'chess']},
{'name': 'Alisa', 'age': 52, 'hobbies': ['camping', 'reading']},
{'name': 'Megan', 'age': 21, 'hobbies': ['lizards', 'reading']},
{'name': 'Amanda', 'age': 19, 'hobbies': ['turtles']},
]
unique_hobbies = (item for item in people['hobbies'] for hobby in people['hobbies'].items())
print(unique_hobbies)
这将生成一个错误:
^{pr2}$
我的理解是错误的,但我不知道在哪里。我想遍历每个字典,然后遍历每个嵌套的列表并将项更新到集合中,这样会删除所有重复项,留给我的是所有独特爱好的集合。在