[英]Converting a for loop into one-liner to compare performance
我正在比較執行兩個代碼塊所需的時間:
import time
start = time.time()
a = []
for x in range(10000):
if x % 2 == 0:
a.append(x)
finish = time.time()
print('stopwatch: ', finish - start)
但是當我將 for 循環變成單行時,我收到語法錯誤:
start = time.time()
a = [x if x % 2 == 0 for x in range(10000)]
finish = time.time()
print('stopwatch: ', finish - start)
我將如何為上面的 for 循環編寫一行代碼?
您應該檢查列表推導式的正確語法。 正確的方法:
a = [x for x in range(10000) if x % 2 == 0]
if
在for x in range()
:
a = [x for x in range(10000) if x % 2 == 0]
你的 if 語句放錯了地方。
start = time.time()
a = [x for x in range(10000) if x % 2 == 0 ]
finish = time.time()
print('stopwatch: ', finish - start)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.