Python,第一个列表索引 - 前一个列表索引然后打印
Python, First list index - previous list index then print
首先我英语不好,请多多关照。
我的代码有问题。我需要从当前列表索引中减去之前的列表索引。
让我用我的代码向您展示一个示例;
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for i in xvalues:
print([i])
我需要在 for 循环中从当前值中减去之前的值。
我试过了
for i in xvalues:
print([i-1])
这是从我列表中的每个值中减去“-1”。我需要简单地将其添加到 for 循环中;
[1]-[0] after this, do this ,[2]-[1] after ,do this [3]-[2]...
我正在寻找帮助我的人,我希望这个话题能拯救某人:)
在下面的代码中,后续的减法是由新值完成的。
例如,输出的前三个值是 [1,0,2,...]
。注意在第三位,我们得到的结果是 2
因为 2-0
,因为 0 是第二位的新值。
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for i in range(1, len(xvalues)):
xvalues[i] = xvalues[i] - xvalues[i-1]
“我需要从当前列表索引中减去之前的列表索引。”
重要提示:
[1]-[0] after this, do this ,[2]-[1] after ,do this [3]-[2]...
你可以试试这个。
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for i,item in enumerate(xvalues):
if i > 0:
previous = xvalues[i-1]#previous = item
print(f"{item}-({previous})")
sub = item - previous
print("Answer: ",sub,"\n")
输出:
1-(1)
Answer: 0
2-(1)
Answer: 1
3-(2)
Answer: 1
3-(3)
Answer: 0
3-(3)
Answer: 0
4-(3)
Answer: 1
1-(4)
Answer: -3
1-(1)
Answer: 0
1-(1)
Answer: 0
2-(1)
Answer: 1
3-(2)
Answer: 1
4-(3)
Answer: 1
5-(4)
Answer: 1
6-(5)
Answer: 1
6-(6)
Answer: 0
-1-(6)
Answer: -7
-23-(-1)
Answer: -22
-44-(-23)
Answer: -21
-512-(-44)
Answer: -468
1-(-512)
Answer: 513
2-(1)
Answer: 1
3-(2)
Answer: 1
4-(3)
Answer: 1
4-(4)
Answer: 0
4-(4)
Answer: 0
4-(4)
Answer: 0
4-(4)
Answer: 0
4-(4)
Answer: 0
您可以使用 zip:
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for x1, x2 in zip(xvalues, xvalues[1:]):
print(x2-x1)
为了阐明语法:
[1]
创建一个包含 1
的新列表,这不是您想要的。
让我们有 x = [10, 20, 30]
,名为 x 的列表包含 10、20、30。然后要访问其值,我们使用 x[pos]
。获取列表 x
中位置 pos
中的任何值。该位置通常称为索引。
x[0] # returns 10
x[1] # returns 20
x[2] # returns 30
所有其他正索引都会抛出错误 IndexError: list index out of range
。
我们也可以通过变量访问索引
i = 2
x[i] # returns 30
作为答案,我建议使用 Myccha 推荐的 zip ;)。
首先我英语不好,请多多关照。 我的代码有问题。我需要从当前列表索引中减去之前的列表索引。
让我用我的代码向您展示一个示例;
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for i in xvalues:
print([i])
我需要在 for 循环中从当前值中减去之前的值。 我试过了
for i in xvalues:
print([i-1])
这是从我列表中的每个值中减去“-1”。我需要简单地将其添加到 for 循环中;
[1]-[0] after this, do this ,[2]-[1] after ,do this [3]-[2]...
我正在寻找帮助我的人,我希望这个话题能拯救某人:)
在下面的代码中,后续的减法是由新值完成的。
例如,输出的前三个值是 [1,0,2,...]
。注意在第三位,我们得到的结果是 2
因为 2-0
,因为 0 是第二位的新值。
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for i in range(1, len(xvalues)):
xvalues[i] = xvalues[i] - xvalues[i-1]
“我需要从当前列表索引中减去之前的列表索引。”
重要提示:
[1]-[0] after this, do this ,[2]-[1] after ,do this [3]-[2]...
你可以试试这个。
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for i,item in enumerate(xvalues):
if i > 0:
previous = xvalues[i-1]#previous = item
print(f"{item}-({previous})")
sub = item - previous
print("Answer: ",sub,"\n")
输出:
1-(1)
Answer: 0
2-(1)
Answer: 1
3-(2)
Answer: 1
3-(3)
Answer: 0
3-(3)
Answer: 0
4-(3)
Answer: 1
1-(4)
Answer: -3
1-(1)
Answer: 0
1-(1)
Answer: 0
2-(1)
Answer: 1
3-(2)
Answer: 1
4-(3)
Answer: 1
5-(4)
Answer: 1
6-(5)
Answer: 1
6-(6)
Answer: 0
-1-(6)
Answer: -7
-23-(-1)
Answer: -22
-44-(-23)
Answer: -21
-512-(-44)
Answer: -468
1-(-512)
Answer: 513
2-(1)
Answer: 1
3-(2)
Answer: 1
4-(3)
Answer: 1
4-(4)
Answer: 0
4-(4)
Answer: 0
4-(4)
Answer: 0
4-(4)
Answer: 0
4-(4)
Answer: 0
您可以使用 zip:
xvalues = [1,1,2,3,3,3,4,1,1,1,2,3,4,5,6,6,-1,-23,-44,-512,1,2,3,4,4,4,4,4,4]
for x1, x2 in zip(xvalues, xvalues[1:]):
print(x2-x1)
为了阐明语法:
[1]
创建一个包含 1
的新列表,这不是您想要的。
让我们有 x = [10, 20, 30]
,名为 x 的列表包含 10、20、30。然后要访问其值,我们使用 x[pos]
。获取列表 x
中位置 pos
中的任何值。该位置通常称为索引。
x[0] # returns 10
x[1] # returns 20
x[2] # returns 30
所有其他正索引都会抛出错误 IndexError: list index out of range
。
我们也可以通过变量访问索引
i = 2
x[i] # returns 30
作为答案,我建议使用 Myccha 推荐的 zip ;)。