日韩性视频-久久久蜜桃-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二十二:迭代,三元表达式,列表解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 瑟瑟在线观看 | 97人妻精品视频一区 | 国产日韩欧美视频在线观看 | 色交视频 | a级一级黄色片 | xxxxx在线 | 火影黄动漫免费网站 | 黄色免费网站在线 | 日韩av在线播| 自拍1区 | 一级黄色播放 | 亚洲丁香婷婷 | 久久xxxx | 99精品视频一区二区三区 | 东北女人啪啪ⅹxx对白 | 久久久久久久久久久久久久国产 | a免费毛片 | 6—12呦国产精品 | 日韩精品999| 捆绑少妇玩各种sm调教 | 欧美呦呦 | 亚洲AV无码成人精品区在线观 | 美女一级片 | 手机在线看片 | 精品国产18久久久久久 | 婷婷激情久久 | 亚洲成人网在线播放 | 欧美精品影院 | 国产精品一区免费 | 自拍三级视频 | wwwwww日本 | 日韩欧美一区二区三区久久婷婷 | 国产视频一区二区三区在线 | 国产美女裸体无遮挡免费视频 | 永久免费视频网站直接看 | 国产女主播自拍 | 日韩精品在线观看AV | 久久美利坚 | 亚洲美女视频在线 | 成人免费xxxxxx视频 | 欧美高清大白屁股ass18 | 日批国产| 精品成人18 | 久久电影一区 | 一区二区三区欧美在线 | 亚洲双插 | 亚洲国产精一区二区三区性色 | 日韩不卡视频在线 | 男人添女人荫蒂国产 | 亚洲高清在线视频 | 色牛影院 | 性欧美ⅹxxxx极品护士 | 91香蕉视频在线观看免费 | av不卡免费在线观看 | 另类少妇人与禽zozz0性伦 | 精品字幕 | 欧美成综合 | 精品无码久久久久久久久久 | aaa成人| 日本毛片在线 | av成人精品 | 欧美老熟妇又粗又大 | 国产一区免费 | 杂技xxx裸体xxxx欧美 | 性高湖久久久久久久久aaaaa | 麻豆系列 | 亚州激情视频 | 国产成年人视频网站 | 国产精品第六页 | 在线观看成人免费视频 | av网站在线观看不卡 | 爱爱的网站 | 国产美女毛片 | 91香蕉久久 | 三级欧美日韩 | 成年人在线视频免费观看 | 午夜丰满寂寞少妇精品 | 国产欧美综合一区二区三区 | 日韩专区中文字幕 | 天天久久综合网 | 日韩国产毛片 | 欧美日韩电影一区二区 | 一级片99| 国产日韩欧美一二三区 | 伊人久久一区 | 精品国产乱子伦 | 综合国产精品 | 国产浪潮av | 欧美日韩在线播放三区四区 | 日日夜夜网| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久天堂| 四虎影视库 | av噜噜在线 | 裸体毛片 | 婷婷影院在线观看 | 宅男视频在线免费观看 | 亚洲天堂黄 | 激情无遮挡 |