如何创建一个列表,同时避免重复?

2024-05-13 19:38:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道什么是最好的方法来创建一个列表,同时避免重复。你知道吗

我在mysql中有一些包含产品类型的数据。你知道吗

例如:

id ------- category

1 --------   food, drink, vege

2 --------   food, drink

3 --------   vege, baby goods

4 --------   fish

im瞄准的输出:

['food','drink','vege','baby goods','fish']

(请注意,订单对我来说并不重要)

数据集有超过40000条记录,因此手动检查它肯定不是一个选项。。。你知道吗

如果您能给我一个便条或建议,我将不胜感激。你知道吗


Tags: 数据方法id类型列表产品foodmysql
2条回答

Python集不允许重复。所以,你可以用集合理解来构造一组独特的类别,就像这样

unique_categories = {item.strip() for row in cur for item in row[1].split(",")}

例如

a = "food, drink, vege"
print {item.strip() for item in a.split(",")}

输出

set(['food', 'drink', 'vege'])

你可以迭代一个集合,比如一个列表。但是,如果以后要将其转换为列表,可以使用list函数

unique_categories = list(unique_categories)

只需更改数据类型设置它就会工作

示例

x = ['food','drink','vege','baby goods','food']

如果需要以下输出

x = ['food','drink','vege','baby goods']

就这么做吧

x = set(x)

完成了

在集合中没有重复的成员。你知道吗

相关问题 更多 >