溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python列表生成器迭代器的示例分析

發(fā)布時間:2021-06-24 11:49:36 來源:億速云 閱讀:104 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹python列表生成器迭代器的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

列表生成式

例如 有一個列表

a =[2,3,4,5]

需要將列表都加上1

#第一種方法
for i in map(lambda i:i+1,a)
#第二種方法
for index,i in enumerate(a):
  a[index] +=1

print(a)
#第三種,簡單列表生成式
a = [i+1 for i in a]
print(a)
#加個三元運算符
a = [ i *2 if i>3 else i for i in a]

1.列表生成器_惰性運算

1.1 生成器

中括號就是列表生成式,小括號就是列表生成器

a = ( i *2 for i in range(a))

def fib(num):
  count = 0
  a,b = 0 ,1 #a=0, b= 1
  while count < num:
    tmp = a
    a = b
    b = a + tmp
    #print(a)
    count +=1
    yield a #返回a, 同時掛起當前這個函數, a返回給了通過__next__()調用當前函數的人
    #return a
  print("done...")

f = fib(10)
print(f.__next__())

迭代器

所有的生成器都是迭代器,迭代器不一定都是生成器(不同的角度,用iter方法,python

內存對象認為迭代器,從本質上就一回事)

例如 python 3里面 range(0,10) 這實際上就是一個迭代器

以上是“python列表生成器迭代器的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI