Python 通过循环递增数组索引
Python incrementing array index through loop
我目前正在使用 xlwings 在 Microsoft excel 中显示图形及其对应的值。我有 5 个图表和它们的坐标(在一个数组中),我已经成功地通过一个循环打印出来。不幸的是,它们出现的列必须是硬编码的,如果我添加更多的图会受到影响,所以我将我的代码更改为:
for i in range(1, 6):
Columns = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"]
Range(Columns[0] + str(1)).value = list(zip(Xvalues))
Range(Columns[1] + str(1)).value = list(zip(Yvalues))
目前它将获取第一个图并在 A 列中垂直打印 x 坐标("A1"),然后在 B 列中垂直打印 y 坐标("B1")然后继续.
我的问题是如何在循环中增加 Columns[] 的索引,以便我的下一个值是 Columns[3] 和 Columns[4]?
您可以使用另一个变量来跟踪列索引。在这种情况下 j
:
Columns = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"]
j = 1
for j,i in enumerate(range(1, 5)):
Range(Columns[j] + str(1)).value = list(zip(Xvalues))
Range(Columns[j+1] + str(1)).value = list(zip(Yvalues))
j += 1
此外,您不应在循环中声明列列表。
我目前正在使用 xlwings 在 Microsoft excel 中显示图形及其对应的值。我有 5 个图表和它们的坐标(在一个数组中),我已经成功地通过一个循环打印出来。不幸的是,它们出现的列必须是硬编码的,如果我添加更多的图会受到影响,所以我将我的代码更改为:
for i in range(1, 6):
Columns = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"]
Range(Columns[0] + str(1)).value = list(zip(Xvalues))
Range(Columns[1] + str(1)).value = list(zip(Yvalues))
目前它将获取第一个图并在 A 列中垂直打印 x 坐标("A1"),然后在 B 列中垂直打印 y 坐标("B1")然后继续.
我的问题是如何在循环中增加 Columns[] 的索引,以便我的下一个值是 Columns[3] 和 Columns[4]?
您可以使用另一个变量来跟踪列索引。在这种情况下 j
:
Columns = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"]
j = 1
for j,i in enumerate(range(1, 5)):
Range(Columns[j] + str(1)).value = list(zip(Xvalues))
Range(Columns[j+1] + str(1)).value = list(zip(Yvalues))
j += 1
此外,您不应在循环中声明列列表。