我正在使用以下代碼進行迭代。但是如果長度很長,那么這將變得很耗時。
a=[11,12,3,4,5,6,15]
b=[1,3,12,15]
c=[1,2,3,4,5,6,7]
d=[]
for i in range(len(a)):
for j in range(len(b)):
if b[j]==a[i]:
d.append(c[i])
print(d)
有沒有其他最佳方法來完成這項作業?
提前致謝
uj5u.com熱心網友回復:
檢查集合是否包含物件已針對集合進行了優化。你可以這樣做:
b_set = set(b)
[ci for ai, ci in zip(a, c) if ai in b_set]
uj5u.com熱心網友回復:
使用in:
for i,v in enumerate(a):
if v in b:
d.append(c[i])
或串列理解:
d = [v for i,v in enumerate(c) if a[i] in b]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/391007.html
上一篇:python 資料分析找到老外最喜歡的中國美食【完整代碼】
下一篇:二維陣列上的乘法表
