gpt4 book ai didi

python - 如何使用列表值作为范围?

转载 作者:行者123 更新时间:2023-12-01 03:08:09 25 4
gpt4 key购买 nike

我有一个整数列表和一个填充了 33 行的 QTableWidget。

我的列表是这样的(对应于 QTableWidget 中的行):

my_list = [15, 14, 1, 2, 1]

我想按行数从表中提取信息。

例如,我想循环遍历表格的前 15 行,然后是接下来的 14 行,然后是下 1 行等。所以目前,我正在使用:

my_list = [15, 14, 1, 2, 1]

for row in range(15):
# Do something

for row in range(15,29)
# Do something

for row in range(29,30)
# Do something

...

由于列表中的值(以及项目数量)可能会发生变化,最有效的方法是什么?

最佳答案

通过这种方式,您可以获得配对并将其用于 range():

import numpy as np

my_list = [15, 14, 1, 2, 1]

top = list(np.cumsum(my_list))
bottom = list(np.subtract(np.cumsum(my_list),my_list))

pairs = zip(bottom,top)
ranges = iter([range(x[0], x[1]) for x in pairs])

现在,你可以走了:

for item in next(ranges):

编辑#1

如果您的# Do Something 始终不同,您可以使用:

for row in next(ranges):
# Do something

for row in next(ranges):
# Do something

编辑#2

如果您的#Do Something始终相同,您可以:

for item in my_list:
for row in next(ranges):
# Do something

关于python - 如何使用列表值作为范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43144006/

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