gpt4 book ai didi

Python:列表数组中的唯一值

转载 作者:行者123 更新时间:2023-12-02 02:34:20 26 4
gpt4 key购买 nike

对来自 fuzzywuzzy 的输出进行成像(值可以采用另一个序列):

[('car', 100, 28),
('tree', 80, 5),
('house', 44, 12),
('house', 44, 25),
('house', 44, 27)]

我想将三栋房子视为相同。仅使用唯一的字符串值来得出此结果的有效方法是什么:

(编辑:由于所有房屋都具有相同的值44,所以我不在乎它们中的哪一个在列表中。最后的房屋值(value)无关)

[('car', 100, 28),
('tree', 80, 5),
('house', 44, 12)]

我在这里看到了很多关于列表唯一性的问题,但答案不适用于我的示例,主要是因为作者只需要一个列表的解决方案。

我尝试过这个:

unique = []
for element in domain1:
if element[0] not in unique:
unique.append(element)

我想我可以使用 element[0] 来处理第一个值,并检查它们是否存在于 unique 中。如果我打印unique,我会得到与fuzzywuzzy之后相同的结果。看来我的想法没有走上正确的道路,那么我怎样才能达到我想要的结果呢?

谢谢!

最佳答案

您可以使用 dict 例如:

data = [('car', 100, 28),
('tree', 80, 5),
('house', 44, 12),
('house', 44, 25),
('house', 44, 27)
]
list({x[0]: x for x in reversed(data)}.values())

给你

[('house', 44, 12), ('tree', 80, 5), ('car', 100, 28)]

使用dict为您提供第一个元素的唯一性,而反转需要为结果添加正确的值(默认情况下它将是最后遇到的)。

关于Python:列表数组中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61591374/

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