我有以下文字:sherlock.txt 我想创建一个列表中的每个单词(标点符号是单词的一部分,因此不是分隔元素,例如:'很高兴.').我做的是跟随:
>>> def wordlist(text):
... input= open(text,'r')
... data= input.read()
... input.close()
... data=data.replace('\n',' ')
... data=data.replace(chr(13),' ')
... data=data.replace(chr(9),' ')
... data=data.split(' ')
... while '' in data:
... data.remove('')
... return data
Run Code Online (Sandbox Code Playgroud)
问题是它返回一个单词列表,但它需要大约.这样做7秒.有没有更快的方法来做到这一点?我知道while循环是这里的问题.
这不是吗?split不带参数的调用会在所有空格字符上拆分字符串,从而消除那些''在被视为数据部分之前给您带来问题的字符串.由于您将更改其他空白字符的麻烦' ',您也可以通过内置的默认行为免费获得相同的效果.
def wordlist(text):
with open(text, "r") as fp:
data = fp.read().split()
return data
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |