gpt4 book ai didi

python - 如何找到 itertools.izip_longest 的长度

转载 作者:行者123 更新时间:2023-11-28 16:36:00 25 4
gpt4 key购买 nike

我在“itertools.izip_longest”中存储了很多元组

我正在尝试遍历 itertools.izip_longest 中包含的这些元组以更改某些值,如下面的代码所示

for i in range(len(pixels)):
if i >= 2148 and i <= 3505:
if pixels[i][0] == 146: # assuming each data element is a 3 element tuple
pixels[i][0] += 1

然而,当我尝试运行代码时,出现与长度相关的错误:

  for i in range(len(pixels)):
TypeError: object of type 'itertools.izip_longest' has no len()

我如何找到 itertools.izip_longest 中包含的长度(元组数)

谢谢

最佳答案

izip_longest 返回 generator ,其中返回的每个项目都是动态生成的。如果你想知道可迭代对象中有多少项,你可以这样做

len(list(pixels))

这和

是一样的
len([item for item in pixels])

例子:

In [1]: from itertools import izip_longest

In [2]: x = izip_longest(range(10), range(100))

In [3]: len(x)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-e62f33f06233> in <module>()
----> 1 len(x)

TypeError: object of type 'itertools.izip_longest' has no len()

In [4]: len(list(x))
Out[4]: 100

关于python - 如何找到 itertools.izip_longest 的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26165710/

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