我正在制作一个程序,将购物清单保存在列表中,我想选择删除符合某个标准的第一个元素,例如
list = [milk,water,bread,milk]
然后我运行某个功能,用户选择摆脱牛奶'。使列表看起来像这样
list = [water,bread,milk]
我该怎么做?
PS。我是python的新手,我想要一些简单易读的东西,即使它没有效果
提前致谢。
编辑
我不认为它是重复的,因为我浏览超过20分钟试图找到类似的东西,但要么代码是我无法理解的,要么它不是我想要的东西
只删除具有相同名称的第一个元素,如果有多个,则它们将保留在列表中
另一个例子:
list = [cheese,milk,water,milk,bread,milk]
如果用户选择了牛奶,列表将如下所示:
list = [cheese,water,milk,bread,milk]
答案 0 :(得分:0)
您可以使用pop
In [106]: l = ['cheese','milk','water','milk','bread','milk']
In [107]: l.pop(l.index("milk"))
Out[107]: 'milk'
In [108]: l
Out[108]: ['cheese', 'water', 'milk', 'bread', 'milk']
或强>
使用remove(x)
从列表中删除值为x的第一项。如果没有这样的项目,则会出错
In [115]: l = ['cheese','milk','water','milk','bread','milk']
In [116]: l.remove("milk")
In [117]: l
Out[117]: ['cheese', 'water', 'milk', 'bread', 'milk']
答案 1 :(得分:0)
答案
我正在寻找的命令是list_name.remove('milk')
。它将删除符合条件的第一个元素,并将保留列表的其余部分,就像更改之前一样。
示例强>
list_name = [tomatoes,water,chocolate,milk,cheese,water]
用户选择删除水,因此选择=水。我运行了指定的命令
list_name.remove(choice)
编辑后,列表将如下所示
[tomatoes,chocolate,milk,cheese,water]