这就是我做的:
for word in doc:
if len(word) < 3:
doc.remove(word)
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做:
for word in doc:
if len(word) < 3:
print word
Run Code Online (Sandbox Code Playgroud)
返回的结果是:'O',''''30''''' '一世.' '如果'等等.
大多数两个角色项目被删除,但仍有一些仍然存在,我做错了什么?
问题是for循环的python.
例如:如果你喜欢这样:
arr = range(1, 10)
for x in arr:
print x
arr.remove(x)
Run Code Online (Sandbox Code Playgroud)
然后您将看到并非所有arr中的项目都被删除.
在您的情况下,我们可以这样做:
newDoc = [ word for word in doc if len(word) >= 3 ]
Run Code Online (Sandbox Code Playgroud)
欢迎来到python.