如何删除符合特定条件的字符串中的第一个元素?

时间:2017-04-09 11:30:24

标签: python python-2.7 list

我正在制作一个程序,将购物清单保存在列表中,我想选择删除符合某个标准的第一个元素,例如

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]

2 个答案:

答案 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]