【问题标题】:Is there a way to rstrip the same character from every item in a list? [duplicate]有没有办法从列表中的每个项目中删除相同的字符? [复制]
【发布时间】:2020-12-17 20:53:04
【问题描述】:

我正在尝试从 1000 个字符串列表中的每个字符串中删除一个冒号 (':')。到目前为止,我已经尝试使用带有 rstrip 的 map 函数和一个 strip 函数,但没有运气。我还尝试了一个更简单的 for 循环函数,如下所示。

我没有收到任何错误,但是当我尝试打印 char 时,它不会删除冒号

char = ['g:', 'l:', 'q:'] #in my actual code there are 1000 strings

for i in range(0,999):
  char[i].strip(':')

还有

for i in range(0,999):
   char[i].rstrip(':')

【问题讨论】:

  • 你怎么做的,但是char[i].strip(':')创建了一个new字符串对象。
  • @jonrsharpe 有没有办法可以将该字符串对象写回到我的列表中?另外,我创建的字符串对象会发生什么。感谢您的回复!
  • “就地”:char[:] = [ch.rstrip(':') for ch in char]。见How to modify list entries during for loop?

标签: python list strip


【解决方案1】:

str.strip() 返回一个 str 对象。它不会改变原来的。所以循环应该是这样的。

for i in range(0,999):
  char[i]=char[i].strip(':')

或者更好地使用列表理解

char=[x.strip(':') for x in char]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多