在Python 2.7中使用itertools,如何表示代碼的哪些部分(在鏈接中突出顯示)應該重複?另外,計數迭代器或組合迭代器對於這種情況更好嗎?我列出了ArcGIS中使用ID(numID)和引用字段的數量(使用arcpy)來創建新類型的ID。目標是縮短代碼,現在列出每個numIDs和行[x] =「...-(01)」。這是代碼,爲此,我試圖寫和迭代器:Python itertools ID字段的計數或組合
if numIDs == "1":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
cursor.updateRow(row)
elif numIDs == "2":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
cursor.updateRow(row)
elif numIDs == "3":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
cursor.updateRow(row)
elif numIDs == "4":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
cursor.updateRow(row)
elif numIDs == "5":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
row[7] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (05)"
cursor.updateRow(row)
elif numIDs == "6":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
row[7] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (05)"
row[8] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (06)"
cursor.updateRow(row)
elif numIDs == "7":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
row[7] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (05)"
row[8] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (06)"
row[9] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (07)"
cursor.updateRow(row)
elif numIDs == "8":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
row[7] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (05)"
row[8] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (06)"
row[9] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (07)"
row[10] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (08)"
cursor.updateRow(row)
elif numIDs == "9":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
row[7] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (05)"
row[8] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (06)"
row[9] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (07)"
row[10] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (08)"
row[11] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (09)"
cursor.updateRow(row)
elif numIDs == "10":
row[3] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (01)"
row[4] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (02)"
row[5] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (03)"
row[6] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (04)"
row[7] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (05)"
row[8] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (06)"
row[9] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (07)"
row[10] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (08)"
row[11] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (09)"
row[12] = "(" + row[0] + ") - (" + row[1] + ") - (" + row[2] + ") - (10)"
cursor.updateRow(row)
是'row'一個'list'或'dict'對象? –
對於你的下一個問題,請閱讀[mcve]。 – boardrider