【问题标题】:Python Iterating n items of array at a timePython一次迭代n个数组项
【发布时间】:2021-12-01 06:46:14
【问题描述】:

我有一个约 1,000 个整数的数组,我想一次迭代 50 个项目并附加到一个字符串。我不太确定如何在 Python 中解决这个问题。

mystring = ""
for [every 50 items] in arr:
    string += 50 items
    print(string)

【问题讨论】:

标签: python loops iteration


【解决方案1】:

您可以将列表拆分为切片以进行迭代。

l = [ ... ]
for x in (l[i:i + 50] for i in range(0, len(l), 50)):
    print(x)

【讨论】:

    【解决方案2】:
    def chunks(arr: list, n: int) -> Generator:
        """
        Yield successive n-sized chunks from arr.
        :param arr
        :param n
        :return generator
        """
        for i in range(0, len(arr), n):
            yield arr[i:i + n]
    

    您可以使用此函数从数组创建 n 大小的块
    例如:

    list(chunks([1, 2, 3, 4], 2)) # => [[1,2],[3,4]]
    在您的情况下,您可以将数组传递给函数并将 50 传递给第二个参数
    之后对块函数的结果执行 for 循环

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-04
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2018-05-12
      • 2012-08-10
      相关资源
      最近更新 更多