2015-04-30 111 views
1

我經常在循環中發生耗時的處理步驟。以下方法是我如何跟蹤處理的位置。在腳本運行時,是否有更優雅的Pythonic方法來計算處理數據?有沒有一種優雅的Pythonic方法來計算處理的數據?


n_items = [x for x in range(0,100)] 

counter = 1 
for r in n_items: 
    # Perform some time consuming task... 
    print "%s of %s items have been processed" % (counter, len(n_items)) 
    counter = counter + 1 
+0

我沒有看到任何計數器方法的錯誤。 – bosnjak

+2

'counter + = 1'也許? – Blusky

回答

5

是,enumerate是專爲這樣:

for i,r in enumerate(n_items,1): 
    # Perform some time consuming task 
    print('{} of {} items have been processed'.format(i, len(n_items))) 

第二參數確定的i起始值,這是通過0默認。

+2

傳遞1作爲第二個參數。 –

+0

這是一個不錯的選擇。語法應該如下:{}項的'print'{}項已被處理'.format(i,len(n_items))' – Borealis

+0

我給出的print'語法在Python 3中是必須的,並且也應該是有效的在Python 2中。 – Marein

相關問題