乘客人数。错误:列表索引必须是整数或片,而不是lis

2024-06-06 18:15:21 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我想把每一站的乘客人数加起来。你知道吗

“stops”变量是站点数,由一个包含乘客入站和出站的元组表示,例如:

stops = [(in1, out1), (in2, out2), (in3, out3), (in4, out4)]
stops = [(10, 0), (4, 1), (3, 5), (3, 4), (5, 1), (1, 5), (5, 8), (4, 6), (2, 3)]
number_passenger_per_stop = []

for i in stops:
    resta = stops[i][0] - stops[i][1]
    number_passenger_per_stop.append(resta)
print(number_passenger_per_stop)

我可以在循环外做这样的计算,但我不明白为什么循环内会崩溃:

stops[i][0] - stops[i][1]


Tags: number站点元组stop人数per乘客stops
0条回答
网友
1楼 · 发布于 2024-06-06 18:15:21

我刚刚编辑了for循环,以便正确地处理列表中索引中的每个元素,您需要按其位置而不是按其值调用列表中的每个元素:

stops = [(10, 0), (4, 1), (3, 5), (3, 4), (5, 1), (1, 5), (5, 8), (4, 6), (2, 3)]
number_passenger_per_stop = []

for i in range(len(stops)):
    resta = stops[i][0] - stops[i][1]
    number_passenger_per_stop.append(resta)
print(number_passenger_per_stop)

输出:

[10, 3, -2, -1, 4, -4, -3, -2, -1]
网友
2楼 · 发布于 2024-06-06 18:15:21

i不是列表索引,而是列表元素本身。你不需要写stops[i]。你知道吗

resta = i[0] - i[1]

如果您编写了

for i in range(len(stops)):

你也可以用一个列表来替换整个内容:

number_passenger_per_stop = [on - off for on, off in stops]

相关问题 更多 >