日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python二十二:迭代,三元表达式,列表解析

發布時間:2025/6/15 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python二十二:迭代,三元表达式,列表解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 迭代器協議:對象必須提供一個next方法,執行該方法要么返回迭代中的下一項,要么就引起一個StopIteration異常,以終止迭代(只能往后走,不能往前退)
? 可迭代對象:實現了迭代器協議的對象(如何實現:對象內部定義一個_iter_()方法)
? 協議是一種約定,可迭代對象實現了迭代器協議,python的內部工具(如for循環,sum,min,max函數等)使用迭代器協議訪問對象

? python中強大的for循環機制

? ? ? ? ? ? ?for循環本質:循環所有對象,全都是使用迭代器協議.

lt = ['l', 'i', 'u'] # 下標訪問方式 lt[0] lt[1] lt[2] # lt[3] # 超出邊界報錯# 遵循迭代器協議訪問方式 iter_test = lt.__iter__() iter_test.__next__() iter_test.__next__() iter_test.__next__() # iter_test.__next__()# 超出邊界報錯# for 循環訪問方式 # for 循環的本質就是遵循迭代器協議的方式,先調用iter_test = lt.__iter__() # 再調用iter_test.__next__(),直到for循環捕捉到StopIteration終止循環 # for 循環所有對象的本質都是一樣的道理 for i in lt:print(i)# while模仿for循環 iter_test = lt.__iter__() while True:try:print(iter_test.__next__())except StopIteration:print("迭代完畢,循環終止了...")break

生成器初步探索

? 生成器:可以理解為一種數據類型,這種數據類型自動實現了迭代器協議(其他的數據類型需要調用自己內置的__iter__()方法).所以生成器就是可迭代對象.

? 生成器分類及在python中的表現形式:1.生成器函數:常規函數定義,但是使用yield而不是return返回結果.yield一次返回一個結果,在每個結果中間,掛起函數的狀態,以便下次重它離開的地方繼續執行.

? ? ? ?2. 生成器表達式:類似于列表推導,但是生成器返回按需產生結果的一個對象,而不是一次構建一個結果列表.

? ? ? python使用生長器對延遲操作提供了支持.所謂延遲操作,是指在需要的時候產生結果,而不是立刻產生結果.這也是生成器的主要好處.

name="劉備" # 三元表達式 res = "厲害了" if name=="劉備" else "不行"列表解析:語法:[expression for iter_val in iterable][expression for iter_val in iterable if cond_expr]lt = [i+2 for i in range(10) ]lt = [i+2 for i in range(10) if i>6]生成器:1.來自函數(生成器函數,可以保存函數的運行狀態)def gene():yield 6yield 7yield 8v = gene()print(v.__next__())# 可以在之間加上代碼代碼print(v.__next__())2. 來自列表解析 v = (i for i in range(10)) print(v.__next__()) # 生成器本身就有 __next__()

生成器特性:

? ?1. 語法上和函數類似. 只是生成器函數使用yield返回一個值

? ?2. 自動實現迭代器協議,可以直接__next__()

? ?3. 狀態掛起:生成器使用yield語句返回一個值.

?生成器優點: 1.延遲計算,一次返回一個結果.并不會一次產生全部結果,這樣不僅節省內存,而且這種機制非常適合處理大數據.

三國人物.txt文件內容{"name":"劉備", "age":"25"}{"name":"關羽", "age":"24"}{"name":"張飛", "age":"23"}{"name":"曹操", "age":"24"}{"name":"郭嘉", "age":"23"}{"name":"曹丕", "age":"5"}def getPeople():with open("三國人物", "r", encoding="utf-8") as f:for i in f:yield igene = getPeople() # for g in gene: # print(eval(g)["age"]) # 使用三元表達式求和 res = sum(int(eval(g)["age"]) for g in gene) print(res)

?

總結

以上是生活随笔為你收集整理的python二十二:迭代,三元表达式,列表解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 毛片a片免费看 | 久久白浆 | 男同av在线观看一区二区三区 | 成人在线免费观看网站 | 一级久久久久久久 | 熟女视频一区 | 亚洲成人影音 | 人人妻人人澡人人爽人人dvd | 自拍偷拍麻豆 | 亚洲高清视频一区 | 久久国产亚洲精品无码 | 玖玖玖在线观看 | www.白虎| 凹凸精品熟女在线观看 | 人人搞人人插 | 免费萌白酱国产一区二区三区 | 自拍日韩亚洲一区在线 | av大全免费观看 | 五月婷在线观看 | 摸丰满大乳奶水www免费 | 污污内射在线观看一区二区少妇 | 欧美日韩亚洲国产另类 | 开心六月婷婷 | 综合色婷婷 | 日韩av中文 | 6090伦理| 91色影院| 爱插美女网 | 91免费视频国产 | 香蕉久久a毛片 | 久久99国产综合精品免费 | 天天天综合网 | 小情侣高清国产在线播放 | 三度诱惑免费版电影在线观看 | 亚洲AV不卡无码一区二区三区 | 亚洲国产精品va在线 | 国产精品污www一区二区三区 | 日本大片黄 | 中文字幕日韩在线观看 | 天天摸天天射 | 丰满大肥婆肥奶大屁股 | 亚洲涩涩在线 | 波多野结衣在线免费视频 | 99热国| 一二三毛片 | 根深蒂固在线观看 | 天堂网在线中文 | 国产叼嘿视频 | 日本一区二区高清不卡 | 中文字幕乱伦视频 | 男女激情免费网站 | 小俊大肉大捧一进一出好爽 | 黄色三级免费观看 | 最新天堂av | 国产福利在线看 | 91污在线观看 | 日本精品视频一区二区 | 欧美少妇一区二区三区 | 中文字幕一级 | www视频在线免费观看 | 91久久久国产精品 | 天天干天天操天天操 | 爱爱视频久久 | 久久国产麻豆 | 一级黄色av| 国产成人av无码精品 | 国产免费黄色av | 久久精品国产一区二区三区 | 日韩一区二区三区在线观看视频 | 无码一区二区三区免费视频 | 日少妇b| 亚洲av永久无码精品三区在线 | 久久黄色网 | 日本a级黄色 | 麻豆网站免费看 | 成人免费毛片色戒 | 成人在线视频免费 | 先锋成人 | 人人超碰在线 | 精品一区二区视频在线观看 | 里番acg★同人里番本子大全 | 成年人免费黄色片 | 影音先锋男人天堂 | 日本va视频 | 福利小视频在线播放 | 精品香蕉一区二区三区 | 日本成人一区二区 | 最近日韩中文字幕 | 七七久久 | 日韩电影在线观看中文字幕 | 日日爽天天 | 色玖玖 | 亚洲精品一级二级 | 男生操女生在线观看 | 亚洲福利影视 | 欧美熟妇激情一区二区三区 | 温柔女教师在线观看 | 国产精品黄色av | 久久久久亚洲av无码麻豆 |