如何从列表中删除单元格,但保留她的 len python



我想删除所有相同的单元格,但由于列表中的更改,长度也在变化,因此它不是 9 个循环,而是 5 个循环。

对于输入:

apple,banana,coconut,apple,banana,coconut,apple,banana,coconut(str)

我期望输出:

apple, banana, coconut (list)

但我得到了:

banana, apple, banana, coconut

我试图制作另一个列表,这样它就不会改变原始列表长度,但正如您所知,它没有帮助。

你能帮忙吗?

附言我把字符串变成了一个列表(list_of_products(

just_a_list = list_of_products
for product in just_a_list:
    if list_of_products.count(product) > 1:
        list_of_products.remove(product)

只需使用set,根据定义,它是:

没有重复元素的无序集合

x = ['apple','banana','coconut','apple','banana','coconut','apple','banana','coconut']
print(set(x))

输出:

{'apple', 'coconut', 'banana'}

如果要将其作为列表:

>>> unique = list(set(x))
['coconut', 'apple', 'banana']

实现此目的的最简单方法是简单地将列表转换为集合,然后再次转换为列表。

list_of_products = ["apple", "banana", "coconut", "apple", "banana", "coconut", "apple", "banana", "coconut"]
products = list(set(list_of_products))
# products = ['coconut', 'apple', 'banana']

最新更新