【问题标题】:Replacing backlash (\) in a list [closed]替换列表中的反冲(\)[关闭]
【发布时间】:2021-01-11 18:16:28
【问题描述】:

我需要替换此列表中的所有反冲:

lista = ['06\\/01\\/2021', '04\\/01\\/2021', '30\\/12\\/2020', '29\\/12\\/2020', '28\\/12\\/2020']

我尝试使用以下代码来实现它:

lista = [list.replace('\\', '') for l in lista]

还有许多其他方式,但主要问题是 Python 不会接受 \ 作为字符串,因为它是一个特殊字符。

我该如何解决这个问题?如何将其转换为字符串?我目前在 Python 3.8.5 上使用 pycharm

【问题讨论】:

  • 不要使用list 作为名称,它是内置函数。你想要spam = [item.replace('\\', '') for ltem in spam],其中spam 是原始列表。
  • 这与特殊字符无关(令人惊讶)。您在需要 l.replace 的地方使用了 list.replace。 (此外,这些变量名的选择真的很糟糕,而且你隐藏了 list 内置函数。)
  • 看来您使用的是list 而不是l: ``` list = [l.replace('\\', '') for l in list] ```

标签: python string special-characters python-3.8


【解决方案1】:

我相信这是 Removing backslashes from a string in Python 的副本。

在任何一种情况下,[l.replace("\\", "") for l in your_list] 都应该可以工作。

【讨论】:

  • 哇。同样的想法,同时发生。
  • 它不是重复的,因为 OP 问题是他们将replace() 应用于列表,而不是列表元素。
【解决方案2】:

试试这个可能对你有帮助:

lst = `your orig. list`    # don't use Python built-in `list`. it will conflict...
ll = [l.replace('\\', '') for l in lst]
>>> ll
['06/01/2021', '04/01/2021']
>>> 

【讨论】:

    【解决方案3】:
    list = ['06\\/01\\/2021', '04\\/01\\/2021', '30\\/12\\/2020', '29\\/12\\/2020', '28\\/12\\/2020']
    list = [l.replace('\\', '') for l in list]
    

    您的代码有错误,请注意 l.replace(...) 而不是 list.replace(...)

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 2013-11-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-04
      • 2021-12-09
      相关资源
      最近更新 更多