python - 对值递减的列表运行 for 循环

标签 python python-3.x list for-loop

<分区>

我希望对列表的所有值运行一个操作,但一次只能运行 10 个值。问题是在 for 循环的最后一个循环中,列表中的值少于 10 个。 我目前的解决方案是执行以下操作:

for i in range(len(my_list) // 10):

    for i in range(10):

        # do operation

for i in range(len(my_list) % 10):

    # do operation

或者另一种解决方案是:

while True:

    for i in range(10):

        if not my_list:

            break


        # do operation

    if not my_list:

        break

我的问题是是否有更好(并且可能非常明显)的解决方案。我不确定如何描述这个问题,所以如果我知道要使用的正确术语,可能还有另一个问题已经回答了这个问题。抱歉,如果是这种情况。

最佳答案

more_itertools.chunked会成功的:

for chunk in more_itertools.chunked(my_list, 10):
    for item in chunk:  # 10 items or less
        # do operation

关于python - 对值递减的列表运行 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58352939/

相关文章:

python - 在Python中计算向量的最快方法

python - 使用数学模块中的平方根函数

python - 为什么 'else' 和 'if' 语句都在运行?

c# - 以字符串列表作为值的字典

python - 非本地与静态相同吗?

python - 使用 OpenCV 在平面图中分隔房间

qt - IPython shell with %matplotlib : the qt windows displaying figures disappear after stepping away from the terminal application. 这个问题可以修复吗?

python-3.x - 重新投影 Xarray 数据集

python - 在 Python 中添加一个字符串

python - 一旦从 python 列表中的列表中删除了一个项目,我如何刷新列表