从列表中删除一个字符串。

3
我创建了一个列表,我想从中删除一个字符串。
例如:
>>> myList = ['a', 'b', 'c', 'd']   
>>> myList = myList.remove('c')
>>> print(myList)
None

这里我做错了什么?我只想从myList中删除'c'

投票关闭,因为这似乎是一个打字错误。 - kylieCatt
2
实际上,即使他执行了myList = myList.remove('c'),也会导致相同的问题,所以我想我们不应该关闭它。 - Anand S Kumar
你正在使用一个方法。你可以考虑阅读相关文档。(提示:特别注意返回类型) - njzk2
有没有另一个函数可以返回已删除元素的列表,而不是直接修改它并返回None - Paul Rougieux
4个回答

17

我不确定a是什么(我猜可能是另一个列表),你应该只执行myList.remove()而不进行赋值。

示例:

>>> myList = ['a', 'b', 'c', 'd']
>>> myList.remove('c')
>>> myList
['a', 'b', 'd']

myList.remove() 方法没有返回任何内容,因此当你执行 myList = <anotherList>.remove(<something>) 时,它会将 myList 设置为 None


4

请记住列表是可变的,所以您可以直接在列表本身上调用remove

>>> myList = ['a', 'b', 'c', 'd']
>>> myList.remove('c')
>>> myList
['a', 'b', 'd']

你之前得到的 None 是因为 remove() 总是返回 None

1

remove()函数不返回任何内容,它直接在列表中进行修改。如果你不将其赋值给一个变量,你会发现myList不再包含c


0

只是对Anand的回答的补充,

mylist = mylist.remove('c')

上面的代码会返回我的列表的返回类型为 'none'。所以你想保持它为


mylist.remove('c')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接