如何使用 '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]
我有一个这样的列表:
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]