gpt4 book ai didi

python - 将数学应用于 python 中的列表成员

转载 作者:行者123 更新时间:2023-12-01 02:23:18 26 4
gpt4 key购买 nike

我正在尝试跟踪列表中的某些号码,但无法编辑该列表的成员。当我尝试从中减去时,出现错误“-=: 'list' 和 'int' 不支持的操作数类型”

with open("prices.txt") as f:
seatCapacity = []
for line in f:
line = [int(i) for i in line[10:].split()]
seatCapacity.append(line)

seatCapacity[seat] -= 1

seatCapacity[seat] 显示正确的数字,因此我不确定我做错了什么。

编辑:一些输出示例是

print(seatCapacity)

输出:

[[150], [120], [200], [80], [120], [80]]

print(seatCapacity[seat])

输出:

[150]

最佳答案

seatCapacity[seat] displays a number correctly so I'm not certain what I'm doing wrong.

实际上,不是根据您发布的输出。如果 print(seatCapacity[seat]) 显示 [150] 是正确的,那么 seatCapacity[seat] 实际上是一个列表。请注意表示列表的 [150] 和表示整数的 150 之间的括号。

发生这种情况的原因是您在循环期间将 line 设置为列表。

line = [int(i) for i in line[10:].split()]

例如,它的作用是获取文件的当前行

"something 10 20 30 40"

去掉前 10 个字符

"10 20 30 40"

将其拆分为由空格分隔的各个部分的列表

["10", "20", "30", "40"]

然后迭代每个部分 (i) 并将其转换为整数 (int(i)),将结果重新组合到列表中。

[10, 20, 30, 40]

该列表将被附加到下一行的 seatCapacity 中。

如果您想附加一个整数而不是一个列表,则必须执行某些操作才能从该列表中获取所需的整数。例如,如果您始终想要列表中的第一个内容,请使用 list[0];如果您始终想要最后一个内容,请使用 list[-1]。或者,如果您知道每行上始终有一个数字(不计算前 10 个字符),您可以直接将该字符串转换为一行,使用类似 int(line[10:].strip ())。 (strip() 删除开头和结尾的空格。根据文件的内容,它可能是可选的。)

关于python - 将数学应用于 python 中的列表成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47724885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com