[英]How to use a 'for' loop to iterate nested-list index items in Python 2.7?
我有一個這樣的清單:
nList = [[0,0,0],[3,2,1]],\ [[]],\ [[100,1000,110]],\ [[0,0,0],[300,400,300],[300,400,720],[0,0,120],[100,0,1320],[30,500,1450]]
並且需要以這樣的方式存儲輸出,例如,每個在'\\'之前的變量都這樣出現,例如,在第一個'\\'之前:
0 metres, 0 metres, 0 seconds
3 metres, 2 metres, 1 seconds
到目前為止,我已經針對每個'\\'之前的單個索引提出了此建議,例如nList[4]
:
outputList = []
for distance in nList[4]:
outputLlist.append('{} metres, {} metres, {} seconds'.format(*distance))
但是,如何創建一個遍歷所有nList
索引的for
循環,並將輸出以'x' metres, 'y' metres, 't' seconds
格式存儲在空列表outputList
?
謝謝您的幫助。
for i in range(1,len(nList)):
for distance in nList[i]:
outputLlist.append('{} metres, {} metres, {} seconds'.format(*distance))
我認為這可以滿足您的要求。
因此,您的數據結構是列表列表的元組。 您將需要兩個循環。
outputList = []
for i in nList:
for distance in i:
outputList.append('{} metres, {} metres, {} seconds'.format(*distance))
但是您也可以使用列表理解:
outputList = ['{} metres, {} metres, {} seconds'.format(*distance))
for i in nList for distance in i]
遍歷列表中的每個子列表,並在輸出每個元素之前檢查每個元素是否具有3個或更多條目:
nList = [[0,0,0],[3,2,1]], [[]], [[100,1000,110]], [[0,0,0],[300,400,300],[300,400,720],[0,0,120],[100,0,1320],[30,500,1450]]
outputList = []
for subList in nList:
for distance in subList:
if len(distance) >= 3:
outputList.append('{} metres, {} metres, {} seconds'.format(*distance))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.