我有一個arr1長度為 100000 的大型一維串列,其中可能包含重復項,另一個串列arr2包含其中的許多元素arr1但不能有重復項。我希望將其中的所有元素都附加arr1到arr2第三個串列中arr3:
file = []
with open('input.txt') as inputfile:
for line in inputfile:
file.append(line.strip().split(' '))
arr1 = file[1] # 2nd line of input file
arr2 = file[2] # 3rd line of input file
arr2 = set(arr2)
arr3 = [element for element in arr1 if element in arr2]
作業正常。但是當我嘗試時:
arr3 = [element for element in arr1 if element in set(arr2)]
與最后兩行相反,我希望得到相同的確切結果,因為它們看起來是相同的,但是以這種方式運行需要很長時間。這些有什么不同嗎?
這是輸入檔案。
uj5u.com熱心網友回復:
if 陳述句在每次迭代中運行 - 因此設定的轉換發生在每次迭代中。
您需要在比較回圈成為解決方案之前轉換為設定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/459268.html
標籤:Python python-3.x 表现 循环 for循环
