【问题标题】:Removing a string from a list从列表中删除字符串
【发布时间】:2015-06-26 16:16:46
【问题描述】:

我创建了一个列表,我想从中删除一个字符串。

例如:

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

我在这里做错了什么?我想要的只是将'c' 从myList 中删除!

【问题讨论】:

  • 投票结束,因为这似乎是一个印刷错误
  • 其实就算他做了myList = myList.remove('c')也会导致同样的问题,所以我想我们不应该关闭它
  • 你正在使用 one 方法。您可以考虑为此阅读文档。 (提示:特别是返回类型)
  • 是否有另一个函数会返回带有已删除元素的列表,而不是在原地修改它并返回None?

标签: python string list python-3.x


【解决方案1】:

我不确定a 是什么(我猜是另一个列表),你应该单独做myList.remove(),不要分配。

例子-

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

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

【讨论】:

    【解决方案2】:

    请记住,列表是可变的,因此您可以简单地在列表本身上调用 remove:

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

    您之前获得None 的原因是因为remove() 总是返回None

    【讨论】:

      【解决方案3】:

      只是对阿南德答案的补充,

      mylist = mylist.remove('c')
      

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

      mylist.remove('c')
      

      【讨论】:

        【解决方案4】:

        remove() 函数不返回任何内容,它会修改列表。如果您不将其分配给变量,您将看到myList 不再包含c。

        【讨论】:

          猜你喜欢
          • 2021-06-24
          • 2011-04-20
          • 1970-01-01
          • 2015-10-25
          • 1970-01-01
          • 2020-12-14
          • 1970-01-01
          相关资源
          最近更新 更多