我想删除所有相同的单元格,但由于列表中的更改,长度也在变化,因此它不是 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']