我正在尝试编写更简单的代码,将独特的元素添加到python列表中。我有一个包含字典列表的数据集,并且我试图遍历字典中的列表Python列表理解:在列表中添加独特的元素?
为什么不能正常工作?它将添加所有项目,包括重复项目,而不是添加唯一项目。
unique_items = []
unique_items = [item for d in data for item in d['items'] if item not in unique_items]
与该工作更长的形式:
unique_items = []
for d in data:
for item in d['items']:
if (item not in unique_items):
unique_items.append(item)
是否有使用列表理解使这项工作的一种方式,还是我坚持使用双for循环?我想保持这个顺序。
这里的字典列表:
[{"items":["apple", "banana"]}, {"items":["banana", "strawberry"]}, {"items":["blueberry", "kiwi", "apple"]}]
输出应[ “苹果”, “香蕉”, “草莓”, “蓝莓”, “猕猴桃”]
我注意到有人问了在另一个帖子上的类似问题:Python list comprehension, with unique items,但我想知道是否有另一种方法没有OrderedDict或如果这是最好的方式
请提供更多信息:您的列表清单对任何提供帮助的人都很有用。 – Abdou
使用一套更好,它会得到所有重复的rip – Copperfield
你想保持排序? – niemmi