python 獲取list長度_python迭代器獲取長度的方法
阿新 • • 發佈:2021-02-04
技術標籤:python 獲取list長度
首先建立一個迭代器:
g = [i for i in range(100)]
我第一次不知道怎麼獲取長度,使用的是len(g),這個方法會出錯,會報
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'generator' has no len()
我們可以使用:
len(list(g))
但是這個方法非常耗記憶體,不如使用這個
sum(1 for _ in g)
咱們還可以寫一個函式來封裝一下:
def get_length(generator):
if hasattr(generator,"__len__"):
return len(generator)
else:
return sum(1 for _ in generator)