gpt4 book ai didi

Python 列表理解 : adding unique elements into list?

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:32 25 4
gpt4 key购买 nike

我正在尝试编写更简单的代码来将唯一元素添加到 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"]}]

输出应该是["apple", "banana", "strawberry", "blueberry", "kiwi"]

我注意到有人在另一个帖子上问了类似的问题:Python list comprehension, with unique items , 但我想知道如果没有 OrderedDict 是否还有另一种方法可以做到这一点,或者那是否是最好的方法

最佳答案

all_items 在列表推导过程中不会不断被覆盖,因此您一直在空列表中寻找东西。

我会这样做:

data = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 1, 2, 3, 4,]

items = []
_ = [items.append(d) for d in data if d not in items]
print(items)

我得到:

[1, 2, 3, 4, 5, 6]

但无论如何,还有更有效的方法可以做到这一点。

关于Python 列表理解 : adding unique elements into list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37221209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com