如何使用的for循环来遍历索引列表



我正试图在这里获得这个输出:

Team C RTO
1 Aug 22
Ayu
Start: 6:00 AM
1st Break: 7:15 AM
Meal: 9:00 AM
2nd Break: 1:00 PM
End: 3:00 PM

这里的文字代码是手动的,效率很低。

print(elements_csvdata[2][0])
print(elements_csvdata[2][1])
print(elements_csvdata[3][1])
print(elements_csvdata[2][2] + ": " + elements_csvdata[3][2])
print(elements_csvdata[2][3] + ": " + elements_csvdata[3][3])
print(elements_csvdata[2][4] + ": " + elements_csvdata[3][4])
print(elements_csvdata[2][5] + ": " + elements_csvdata[3][5]) 
print(elements_csvdata[2][6] + ": " + elements_csvdata[3][6]) 

这就是我尝试过的:

print(elements_csvdata[2][0])
print(elements_csvdata[2][1])
print(elements_csvdata[3][1])
for element in elements_csvdata(1,7):
print(elements_csvdata[2][element + 1] + ": " + elements_csvdata[3][element + 1])

我得到的错误是:

TypeError: 'list' object is not callable

我的问题是,如果你看到原始的手动代码,你会如何清理它以消除重复?我知道for循环和函数是有序的,但我不知道如何使用嵌套的for循环。

elements_csvdata是我从csv文件中填充的一个空列表。

打印(elements_csvdata[2](将给出以下输出:

['Team C RTO', '1 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '2 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '3 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '4 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '5 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End']

打印(elements_csvdata[3](

将给出以下输出:

['1', 'Ayu', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Riana', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Aria', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Aza', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Ayu', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM']

非常感谢您的帮助。谢谢

您可以在此处使用range

for index in range(2,7):
print(elements_csvdata[2][index] + ": " + elements_csvdata[3][index])

zip、的另一次尝试

el2 = elements_csvdata[2] # renamed for the easy of use
el3 = elements_csvdata[3] # renamed for the easy of use
print(el2[0])
print(el2[1])
print(el3[1])
events = [' : '.join(i) for i in zip(el2[2:7], el3[2:7])]
for event in events:
print(event)

输出:

Team C RTO
1 Aug 22
Ayu
Start : 6:00 AM
1st Break : 7:15 AM
Meal : 9:00 AM
2nd Break : 1:00 PM
End : 3:00 PM

elements_csvdata是一个二维的list。我们使用圆括号()来调用函数。因此,当解释器试图运行代码elements_csvdata(1,7)时,它将elements_csvdata作为function,但实际上不是。

这就是为什么你得到

TypeError: 'list' object is not callable

你应该使用一些基于索引的循环。range函数在这里非常有用。更新的循环将是:

for i in range(2,7):
print(elements_csvdata[2][i] + ": " + elements_csvdata[3][I])

测试用例

>>> elements_csvdata = [
...     [],
...     [],
...     ['Team C RTO', '1 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '2 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '3 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '4 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End', '5 Aug 22', 'Start', '1st Break', 'Meal', '2nd Break', 'End'],
...     ['1', 'Ayu', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Riana', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Aria', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Aza', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM', 'Ayu', '6:00 AM', '7:15 AM', '9:00 AM', '1:00 PM', '3:00 PM']
... ]
>>> print(elements_csvdata[2][0])
Team C RTO
>>> print(elements_csvdata[2][1])
1 Aug 22
>>> print(elements_csvdata[3][1])
Ayu
>>> for i in range(2,7):
...     print(elements_csvdata[2][i] + ": " + elements_csvdata[3][i])
...
Start: 6:00 AM
1st Break: 7:15 AM
Meal: 9:00 AM
2nd Break: 1:00 PM
End: 3:00 PM
>>>

最新更新