簡體   English   中英

簡化python中的for循環

[英]Simplify for loop in python

我正在使用 python 並尋求有關如何簡化以下代碼的幫助。 謝謝。

for i in range(1,9):
    if i == 1:
        wt_1 = gwt_2018[gwt_2018.WkNum == i]
    elif i == 2:
        wt_2 = gwt_2018[gwt_2018.WkNum == i]
    elif i == 3:
        wt_3 = gwt_2018[gwt_2018.WkNum == i]
    elif i == 4:
        wt_4 = gwt_2018[gwt_2018.WkNum == i]
    elif i == 5:
        wt_5 = gwt_2018[gwt_2018.WkNum == i]
    elif i == 6:
        wt_6 = gwt_2018[gwt_2018.WkNum == i]
    elif i == 7:
        wt_7 = gwt_2018[gwt_2018.WkNum == i]
    else i == 8:
        wt_8 = gwt_2018[gwt_2018.WkNum == i]

你需要這樣的東西嗎?

l = [wt_1, wt_2, wt_3, wt_4, wt_5, wt_6, wt_7, wt_8]
for index, i in enumerate(l):
    i = gwt_2018[gwt_2018.WkNum == index+1]

必須將 'wt_i' 作為所有 i 的變量名嗎?

我會改用字典:

wt = {}
for i in range(1,9):
    wt[i] = gwt_2018[gwt_2018.WkNum == i]

我找到了解決方案 [a link] ( 在 python 2.7 中使用 for 循環創建多個數據框

gbl = globals()
for i in range(1,54):
    gbl['df_'+str(i)] = gwt_2018[gwt_2018.WkNum == i]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM