簡體   English   中英

如何在Python 2.7中使用“ for”循環來迭代嵌套列表索引項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM