【发布时间】:2019-08-06 11:50:48
【问题描述】:
我正在使用 for 循环在 python 中填充大量列表:
随着每次迭代,速度越来越慢。
tdif=[0]*316
for i in tnrange(len(list_ngrams2)):
store=[]
for value in list_ngrams2[i]:
if value in features:
store.append(value)
tdif[i]=store
列表推导也有同样的问题:
tdif=[value for lst in list_ngrams2 for value in lst if value in features]
那么如何加快速度呢?
【问题讨论】:
-
你的问题是什么?
-
如何加快速度?
-
您没有向我们提供几乎足够的信息来提供帮助。什么是
list_ngrams2,什么是tqdm,什么是features?您绝对需要tdif作为列表吗?你的 for 循环和列表理解甚至不等价(np.array在后者中被调用)。 -
list_ngrams2 是 3 克(元组)列表的列表。我想创建相同的元组列表列表,但只创建那些包含在特征列表中的列表。
-
@RobStreeting 它由
for循环设置。我怀疑tnrange()应该只是range()。
标签: python list performance loops for-loop