這是一個稍微普遍的問題 - 我在尋找最Python的和/或有效的方法:Python的使用迭代和條件的
我有一個大的數據集和數量,有時需要執行的任務通過迭代遍歷行,有時不需要,取決於某些條件。
for step in np.arange (0, number_of_steps):
if condition1:
do_calculation1(step)
if condition2:
do_calculation2(step)
因此兩個if
語句在每次迭代中都重複。該條件是真的還是假的整個數據集,所以爲了節省時間,我不會做迭代,如果不需要的話:
if condition1 or condition2:
for step in np.arange (0, number_of_steps):
if condition1:
do_calculation1(step)
if condition2:
do_calculation2(step)
,但我仍然重複if
報表有時不必要的。 另一種方法是通過數據集來兩次迭代分開的條件語句,並做到:
if condition1 :
for step in np.arange (0, number_of_steps):
do_calculation1(step)
if condition2:
for step in np.arange (0, number_of_steps):
do_calculation2(step)
這樣做的缺點是,如果這兩個條件都滿足,我重複了兩次,這是緩慢的(笨拙)。兩種方法的相對速度取決於每種情況的真實情況,但我將使用各種各樣的數據,所以我不知道哪種情況會更快。
所以我的問題是哪個將是最pythonic和最有效的方法?
喜歡這個 - pythonic和高效。 – doctorer