フライト ルーティング コードのデータがあります。次のような文字列がたくさんあります。
routing = 'PBI-FLL/FMY/JAX/MIA/ORL-PNS/TPA-SRQ-CLE/CHI/HOU/WAS-DEN-ELP'
次のような文字列を含むリストを取得する必要があります。
routinglist = [['PBI'], ['FLL','FMY','JAX','MIA','ORL'], ['PNS','TPA'], ['SRQ'], ['CLE','CHI','HOU','WAS'], ['DEN']]
このコードを書きましたが、複雑すぎて必要に応じて機能しません
routingrules = 'PBI-FLL/FMY/JAX/MIA/ORL-PNS/TPA-SRQ-CLE/CHI/HOU/WAS-DEN-ELP'
airports = []
nn = 0
few = ''
airportcount = 0
for simvol in routingrules:
if (nn) % 4 == 0:
previous = routingrules[nn:nn+3]
if routingrules[nn+3:nn+4] == '/':
few = few + previous + "1,2"
elif routingrules[nn+3:nn+4] == '-':
if few != '':
airports.append([few + previous])
airportcount = airportcount+1
few = ''
else:
airports.append([previous])
airportcount = airportcount+1
else:
if few != '':
airports.append([few + previous])
airportcount = airportcount+1
few = ''
nn = nn+1
nn = nn+1
print airports
それは印刷します
[['PBI'], ['FLL1,2FMY1,2JAX1,2MIA1,2ORL'], ['PNS1,2TPA'], ['SRQ'], ['CLE1,2CHI1,2HOU1,2WAS'], ['DEN']]