在python中简化for循环

2024-10-03 13:28:23 发布

您现在位置: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]

Tags: 代码inforifrangeelseelifwt
3条回答

你需要这样的东西吗?你知道吗

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]

所有i的变量名都必须是'wt\u i'吗?你知道吗

我会用字典来代替:

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

我找到了解决方案[链接](Create multiple dataframe using for loop in python 2.7

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

相关问题 更多 >