【问题标题】:Remove '\n' from each string stored in a python list从存储在 python 列表中的每个字符串中删除 '\n'
【发布时间】:2017-07-18 05:36:01
【问题描述】:

我有一个 python 列表,如下所示:

my_list = ['OFAC\n', 'Social Media Analytics\n', 'Teaching Skills\n', 'Territory...\n', 'Active Directory...\n', 'Business Research\n', 'Call Center...\n', 'Treatment of depression\n', 'VB\n', 'CAN\n', 'Client Interfacing...\n', 'Consolidated Financial...\n']

如何从每个元素的末尾删除 \n 以及为什么 strip 不起作用?。

我尝试了line.strip('\n') 和line.replace('\n',''),但没有任何影响。

创建列表的文本文件如下所示:

Java Basic
Core Java
C++
Python
...

将文本文件放入列表的代码是:

with open("myfile.txt") as f:
    for line in f:
        st_line = line.strip('\n')
        d.append(st_line)

【问题讨论】:

  • 应该可以。但是你有什么输入?文件还是列表?
  • 试试st_line = line.rstrip()。但是,您有列表或输入文件吗?
  • 您是否有可能在期望 Unix (\n) 行结尾的环境中读取具有 DOS 行结尾 (\r\n) 的文件?
  • 好像是转义码问题,可以试试(\\n)?
  • 使用该代码,您无法以该列表结束。你没有说实话。

标签: python python-2.7 list


【解决方案1】:

试试这样的:

with open("myfile.txt") as f:
    d = map(str.rstrip, f.readlines())
print d

对于您上面的输入,这将输出:

['Java Basic', 'Core Java', 'C++', 'Python']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多