我有一个关于换行符和返回字符的问题。呃,这很难解释,但我会尽力的。

我有列表形式的数据。列表的成员中有换行符,因此。

1

2

3example_list = ["I've always loved jumping

"]

为了使用nlp-though-nltk标记这个句子,我需要一个字符串。当NLTK根据我运行的一些测试和NLTK教程中的证据标记化时,它将忽略换行符和其他转义字符。

问题是,当我试图将example_list转换为字符串时,我得到了这个输出

1

2

3

4str(example_list)

'["I\'ve always loved jumping\

\

"]'

注意,所有换行符现在都变成了一个转义的正斜杠。尝试将其标记化会产生一个可怕的结果,在这里,nltk认为跳转是一个大单词,因为它认为带有两个斜杠的换行符实际上是文本。

是否有人知道任何技巧或良好的实践,以确保换行符从不存在于我的列表中,或者在转换为字符串时忽略这些字符或不"双转义"。

最后,对于如何处理换行字符以及这些字符如何与不同的数据类型交互等相关的资料,是否有人有任何建议,因为它非常令人困惑。

谢谢!

您可以使用strip()删除等。

stackoverflow.com/questions/21325212/…的可能副本?

@巴格夫劳,你为什么删除了行动党的自我回答?

@亚历克西斯,部分是我的错,我把它标记为不是答案,因为它只是链接。投票取消删除。

您正在解决错误的问题:从您显示的输出中可以清楚地看到,您在一个实际包含方括号、引号和反斜杠的文件中读取的内容。换句话说,这些不是新行,而是实际的\和n序列。这里有一个(三重引用,原始)字符串,可以重现您的问题:

1

2

3

4

5

6

7>>> mess = r'''["I've always loved jumping

"]'''

>>> str(mess)

'["I\'ve always loved jumping\

\

"]'

当然,您没有将数据放在原始字符串中;您是通过读取一个您自己创建的文件得到的,如下所示:

1

2with open("newfile.txt","w") as datafile:

datafile.write(str(list_of_strings)) # <-- Not a good idea

这是你的错。写一个字符串只会输出字符串内容,但是在列表中调用write()会打印出它的repr(),所以在文件中会出现引号和反斜杠。像这样正确地写出字符串列表:

1

2with open("newfile.txt","w") as datafile:

datafile.writelines(list_of_strings)

…它基本上是这个的缩写:

1

2

3with open("newfile.txt","w") as datafile:

for s in list_of_strings:

datafile.write(s)

这样做,当你读回你的文件时,它会正常运行,而不必玩游戏。

我不认为这是OP的情况——他清楚地表明数据是以列表的形式给出的。repr格式来自str(...)调用,这是基于对必须将列表转换为字符串而不是访问字符串元素的误解…

你可能是对的…在他们试图简化的过程中,问题会破坏他们所处理的数据的真实格式,这并不少见,但现在看了他的自我回答,我怀疑你的解释是正确的。

您的列表中已经有字符串。将列表转换为字符串不是您想要的:这是为了显示列表,例如用于调试。

你想要的(我假设)是从列表中提取字符串。这会导致换行符保持原样。至少有两种方法可以做到这一点:

为了使单词标记化最有效,最好先做句子标记化。您的示例只显示一个包含单个元素的列表,而该元素恰好包含一个句子。如果您的数据总是每个元素有一个句子(即,您已经有了句子拆分文本),您可以简单地执行以下操作:

1

2

3for sentence in example_list:

tokens = word_tokenize(sentence)

# Do something with the tokens of this sentence...

但是,如果文本尚未进行句子拆分,则需要先执行该操作。关于您的数据,有两种可能性:列表元素要么是段落,要么是任意片段。

在段落的情况下,假设每个元素包含多个句子,但句子从不跨越多个元素。在这种情况下,代码可能如下所示:

1

2

3

4for paragraph in example_list:

for sentence in sent_tokenize(paragraph):

tokens = word_tokenize(sentence)

# Do something with the tokens of this sentence...

在最后一种情况下,如果列表元素是任意片段,句子跨越多个元素,我们需要先将它们连接起来。NLTK的工具期望一个句子由一个连续的字符串组成,因此必须首先连接所有片段。这样做:

1

2

3

4text = ''.join(example_list)

for sentence in sent_tokenize(text):

tokens = word_tokenize(sentence)

# Do something with the tokens of this sentence...

希望这能给你一些线索!

python列表换行输出_Python从列表转换为字符串时处理换行符相关推荐

  1. python怎样换行输出_python换行输出

    如何用python将内容换行输出 这样我输入"欢迎来到CSS布局HTML"后, 1.txt中的原内容" 我好 欢迎来到CSS布局HTML 大家好 " 变成了&q ...

  2. python列表方法语句_Python中列表和元组的相关语句和方法讲解

    列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数-- list(iter):把可迭代对象转换为列表. str(obj):把obj对象转换为字符串,即用字符串来表示这个对象. tup ...

  3. python列表功能默写_Python list(列表)功能详解

    Python List append()方法 描述 append() 方法用于在列表末尾添加新的对象. 语法 append()方法语法: list.append(obj) 参数 obj -- 添加到列 ...

  4. python两两组合_python – 一个列表中的两个组合列表

    我是一个Python初学者.我想从一个列表中获取两个组合列表. 例如,我有一个列表: c = [1, 2, 3, 4] 我想使用每四个项目来获得每个可能的组合来填充两个列表.将会有((2 ^ 4)/ ...

  5. python判断汉字个数_python判断列表里数量python中文乱码问题大总结

    在运行这样类似的代码:#!/usr/bin/env python s="中文" print s 最近经常遇到这样的问题: 问题一:SyntaxError: Non-ASCII ch ...

  6. python常用关键字意思_Python 关键字列表及示例

    本教程提供有关Python中使用的所有关键字的简要信息. 关键字是Python中的保留字.我们不能将关键字用作变量名,函数名或任何其他标识符. 这是Python编程中所有关键字的列表 上述关键字可能会 ...

  7. python字典换行输出_python字典 更新

    python字典 类似于java中的map集合,KV类型的数据结构.以下为书中解释 字典 与列表类似,但是更加通用. 在列表中,索引必须是整数:但在字典中,它们可以是(几乎)任何类型. 字典包含了一个 ...

  8. python 列表算平均分_python平均列表

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我有一个列表:类似: data = , , , ] 我想把这个算出来... 本节 ...

  9. python列表转集合_Python数据类型 列表、元组、集合、字典的区别和相互转换

    一:数据类型 列表.元组.集合.字典的区别 列表元组集合字典 英文 list tuple set dict 可变与不可变类型 可变类型 不可靠类型 可变类型 可变类型 可否重复 是 是 否 是 存储方 ...

最新文章

  1. c#中为datagrid添加下拉列表框
  2. 用python编写的无线AP扫描器
  3. HTML 5 视频,音频
  4. No symbols have been loaded for this document
  5. js当前时间不关闭浏览器会实时更新最新时间+js倒计时,
  6. ztree 获取当前选中节点的子节点集合
  7. dw如何制作图片自动切换效果_什么是3D虚拟展厅,虚拟展厅如何在线3D漫游!
  8. SQL Server 2005 安装后,没有Management Studio管理工具的解决办法
  9. SqlServer性能检测之Sql语句排查
  10. 浅谈计算机网络技术应用及发展,【网络技术论文】计算机网络技术的应用及发展(共2891字)...
  11. Intel NUC的win10系统安装教程
  12. 网友趣解: UCWEB手机浏览器产品说明书
  13. 胃病患者饮食结构注意事项
  14. 2021版《数据结构》课程学习指南
  15. 自平衡小车TB6612FNG驱动直流电机控制接线介绍
  16. #一日一图#《秋的味道》
  17. TPM、TCM分别是什么?
  18. 仿新浪微博 android,android 仿新浪微博
  19. [npm]npm包删除善后
  20. 安卓11?快!扶我起来继续学

热门文章

  1. Mac电脑如何通过终端隐藏应用程序?
  2. 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)
  3. 蓝鲸智云平台部署[6.0.5]
  4. ECNU203.2333进制
  5. 人工智能TensorFlow进行车辆检测车辆识别
  6. 【面试题】网易互娱(游戏)2021校园招聘在线笔试 - 服务端开发工程师[文件系统]
  7. 网络实名认证接口认证形式有哪些?
  8. 通过Cookie跳过登录验证码【限cookie不失效有用】
  9. 《HelloGitHub》第 40 期
  10. 二进制图片转换成BMP位图(C++)