用Python简化循环
我是Python新手,我想知道是否可以简化这个循环,我需要处理超过100k的字符串,这需要太多时间。 我读过关于列表理解的内容,但我不知道如何转换它用Python简化循环,python,python-3.x,list,list-comprehension,Python,Python 3.x,List,List Comprehension,我是Python新手,我想知道是否可以简化这个循环,我需要处理超过100k的字符串,这需要太多时间。 我读过关于列表理解的内容,但我不知道如何转换它 result_pos_tagging = nltk.pos_tag(result_ps) unnecessary_tags = ['CC','DT','EX','IN','MD','PDT','WRB','WP$','WP','WDT','POS'] for r in result_pos_tagging: if r[1] in
result_pos_tagging = nltk.pos_tag(result_ps)
unnecessary_tags = ['CC','DT','EX','IN','MD','PDT','WRB','WP$','WP','WDT','POS']
for r in result_pos_tagging:
if r[1] in unnecessary_tags:
result_pos_tagging.remove(r)
这就是我所尝试的:
m\u list.append(如果r[1]不在不必要的标记中,则r表示结果中的r位置标记)
这就是我得到的:
[]您在括号内创建了一个生成器表达式。生成器是一种迭代器,可以包含任意数量的项 使用
extend
而不是append
将迭代器解压缩到列表中:
a = []
a.extend(range(10))
print(a)
输出:
[0,1,2,3,4,5,6,7,8,9]
如果您在for循环中所做的是正确的,那么这就是使用列表理解的方法
m_list = [r for r in result_pos_tagging if r[1] not in unnecessary_tags]