我正在構建一個Python腳本來在我們的內部系統上執行網絡清單。每個系統最多有五個羣集,我正在尋找一種方法來調整列表,以便將每個羣集全部放入一個羣集中。下面是他們的存儲系統上的方式:重新設置設置長度的列表
集羣中的一個
主系統
節點的一個
XXXX(節點IP)
節點有兩個
XXXX(節點IP)
羣二
主系統
節點一
xxxx(節點IP)
節點二
XXXX(節點IP)
我需要讓他們調整到這個樣子:
集羣中的一個,主系統,節點一,XXXX(節點IP),節點有兩個,XXXX (節點IP)
羣二,主系統,節點一,XXXX(節點IP),節點二,XXXX(節點IP)
這是我現在使用了一些非常草率的代碼,但我想知道是否更有效率nt的方式來做到這一點:
NetworkTableCount = len(NetworkTable)/6 + 1
count = 1
while count < NetworkTableCount:
if count == 1:
Temp = (NetworkTable[0]+","+NetworkTable[1]+","+NetworkTable[2]+","+NetworkTable[3]+","+NetworkTable[4]+","+NetworkTable[5]+"\n")
elif count == 2:
Temp = (NetworkTable[6]+","+NetworkTable[7]+","+NetworkTable[8]+","+NetworkTable[9]+","+NetworkTable[10]+","+NetworkTable[11]+"\n")
elif count == 3:
Temp = (NetworkTable[12]+","+NetworkTable[13]+","+NetworkTable[14]+","+NetworkTable[15]+","+NetworkTable[16]+","+NetworkTable[17]+"\n")
elif count == 4:
Temp = (NetworkTable[18]+","+NetworkTable[19]+","+NetworkTable[20]+","+NetworkTable[21]+","+NetworkTable[22]+","+NetworkTable[23]+"\n")
elif count == 5:
Temp = (NetworkTable[24]+","+NetworkTable[25]+","+NetworkTable[26]+","+NetworkTable[27]+","+NetworkTable[28]+","+NetworkTable[29]+"\n")
NetworkTopology.write(Temp)
count = count + 1
我自學了Python,所以它可能只是一個簡單的調整。提前致謝。
您應該首先重構您的代碼以簡化'Temp'的計算。這些行中有足夠的複合概念來將它們概括爲更容易閱讀的行。考慮使用這樣的東西:'index =(count - 1)* 6; 「,」。join(NetworkTable [index:index + 6])' – Lynch