In Python benötigen Sie möglicherweise einen Zähler, wenn Sie eine for-Anweisung in einer Sequenz drehen. : smiley: Zu diesem Zeitpunkt scheint es einfach zu sein, einen Zähler außerhalb der for-Anweisung zu definieren und innerhalb der for-Anweisung zu erhöhen oder den Zähler mithilfe von enumerate zu erhalten: entspannt: Als ich diese Geschichte hörte, fragte ich mich, welche schneller verarbeitet werden könnte: verwirrt: Also habe ich beschlossen, die Geschwindigkeit zu messen: grinsen: Klicken Sie hier für den Messcode.
sptst.py
import time
def count(test):
count=0
start=time.time()
for item in test:
a=count
b=item
c=test[count]
count+=1
diff=time.time()-start
return diff
def enumer(test):
start=time.time()
for count,item in enumerate(test):
a=count
b=item
c=test[count]
diff=time.time()-start
return diff
test=[]
for i in range(100000):
test.append("test")
loopNum=1000
summation=0
for i in range(loopNum):
summation+=(count(test))/(enumer(test))
print(summation/loopNum)
Mit einer for-Anweisung mit count und einer for-Anweisung mit enumerate habe ich eine Liste mit 100.000 Elementen erstellt und versucht, eine entsprechende Verarbeitung durchzuführen. : Nackenbart: Jede for-Anweisung wird 1000-mal gedreht, und die Anzahl zeigt an, wie oft die Zeit durchschnittlich ist. : Nackenbart: Infolgedessen beruhigte es sich auf etwa 1,2. : gequält: In diesem Fall war die Verarbeitung gering, sodass es einen 1,2-fachen Unterschied zu geben scheint: no_mouth: Wenn die for-Anweisung einen Zähler benötigt, ist es besser, enumerate zu verwenden, als die Variable außerhalb zu definieren und zu erhöhen: wink: