如何使用 'for' 循环迭代 Python 2.7 中的嵌套列表索引项?

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))

但是我如何创建一个 for 循环遍历所有 nList 索引并将输出以格式 'x' metres, 'y' metres, 't' seconds 存储在空列表 outputList 中?

感谢您的帮助。

遍历列表中的每个子列表,并在输出之前检查每个元素是否有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))
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]