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

歡迎訪問 生活随笔!

生活随笔

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

python

python列表生成器语法_python语法_列表生成器_生成器_迭代器_异常捕获

發布時間:2023/12/15 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python列表生成器语法_python语法_列表生成器_生成器_迭代器_异常捕获 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

列表生成式

a = [x for x in range(10)]

print(a)

x 可進行操作

a = [x*2 for x in range(10)]

print(a)

x甚至可以為函數,

def f(n):

return n*n*n

a = [f(x) for x in range(10)]

########################

賦值方法

t = ('123',8)

a,b = t

print(a)

print(b)

#############

a =(x for x in range(10))#

print(a)#generator object

這個時候打印出來的結果是一個生成器對象,并沒有生成序列且將里面的元素并全部存進內存(列表生成器時生成的列表,列表里的元素已經全部存進內存了)

類比于之前是廚師做了N道菜出來(列表),菜(元素)全部吃進了肚子(內存),這里只是生成了一個廚師(生成器),想吃什么菜(元素)就調用廚師進行生成。

print(next(a)) 這樣就可答應序列的第一個值了,next(a)等價于 a.__next__() a.next()

生成器里能迭代多少次,就能取多少次值,只能按順序一個一個區,不能隔取,反順序取,取完不能再進行曲了,會返回迭代錯誤的報錯。

生成器就是一個可迭代對象Iterable object

for i in s:

print(i)

這里for循環其實就是調用了next(s),循環時,第一次i打印0 ,第二次打印1,第二次打印的時候0對象由于沒人引用,已經被回收了。

####

生成器第二種生成方法:使用yield

def foo():

print("Ok1")

yield 1

print("OK2")

yield 2

foo() 直接調用foo() 是不會打印的,因為這是一個生成器函數,碰到yield 就會創建一個生成器

g = foo()

next(g) 采用next(g) 調用,遇到yield 則返回生成器里定義的第一個值。

next(g) 再次采用next(g)進行調用,會yield 1開始,返回值

##

凡是能進行for循環的 都是可迭代的。

凡是有擁有__iter__方法的都是可迭代對象。

###

使用斐波那契數列進行生成器的例子

def fbnq(max):

n,before,after = 0,0,1

while n < max:

yield after #將需求里需要的值設置為yield 返回的即可,yield 其實就是等同于return.

before,after =after,before + after

n = n+1

next(fbnq(10))

####

send方法

a.send('eeee')

def bar():

print("OK")

count=yield 1

print(count)

print("OK2'")

yield 2

g = bar()

next(g)

b = g.send('eee')

print(b)

####

迭代器

滿足兩個條件:1 有iter方法,2 有next方法

l = [1,2,3,4]

d = iter(l)

for 循環內部三件事:

1 調用可迭代對對象的iter方法返回一個迭代器

2 不斷調用迭代器對象的next方法

3 捕獲異常(迭代器迭代結束)進行退出

####

判斷是否為list,迭代器,可迭代對象

from collections import Iterator

isinstance([1,2,3,4],list)

isinstance([1,2,3,4],Iterator)

isinstance([1,2,3,4],Iterable)

###

f = open('abc123.txt','r)

for i in f.readlines(): 這里是將文件按行取出,把每一行當成一個元素放入內存,這樣文件很大時,元素很多,占用內存也用掉了很多。

for i in f(): 這里f是一個迭代器,放入內存只是一個迭代器,這樣遍歷時,每次拿出來一行就看一行,前一行就被內存回收了,內存里始終只有一行存在。

####

一句話實現查找文件里溫度最長的行

print(max(len(x) for x in open('日志記錄','r',encoding='utf8')))

總結

以上是生活随笔為你收集整理的python列表生成器语法_python语法_列表生成器_生成器_迭代器_异常捕获的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 白石茉莉奈中文字幕在 | 国产美女在线播放 | 樱花视频在线免费观看 | 久久精品无码人妻 | 欧美性猛交xxx乱大交3蜜桃 | 中日韩黄色大片 | 国产精品s | 5566毛片 | 麻豆乱码国产一区二区三区 | 中文字幕久久熟女蜜桃 | 日韩精品一二三区 | 91精品国产色综合久久不卡98 | 激情宗合 | 受虐m奴xxx在线观看 | 色吧av | 在线观看超碰 | 在线观看1区 | 精品国产第一页 | 就去色av| 国产50页 | 久久久亚洲国产精品 | 日本一区二区三区在线观看视频 | 国产一级片麻豆 | 欧美久久久久久久久中文字幕 | 国语粗话呻吟对白对白 | 国产九色91回来了 | 天天干夜夜嗨 | 一级做a爱片久久 | 入禽太深免费视频 | 火影黄动漫免费网站 | 综合av | 久久成人精品视频 | 无码成人一区二区 | 国产香蕉在线视频 | 久久一区二区三区精品 | 久久性网| 亚洲综合伊人久久 | 中文字幕日韩精品无码内射 | 午夜影院体验区 | 麻豆视频在线观看免费 | 无码国产伦一区二区三区视频 | 69xxx中国| 91精品人妻一区二区三区 | 日韩美女视频在线 | 日韩免费视频一区二区视频在线观看 | 中文字幕亚洲区 | 国产精品美女www爽爽爽 | 欧美一区二区三区啪啪 | 在线免费观看av的网站 | 免费黄色在线 | 成人无码久久久久毛片 | 调教撅屁股啪调教打臀缝av | 一级免费观看视频 | 一区二区少妇 | 免费的黄色的网站 | 日本三级吃奶头添泬 | 男男gay动漫 | 欧美一级二级三级视频 | 国产美女极度色诱视频www | 亚洲国产精品自拍 | 在线视频 中文字幕 | 嫩草av91| 99国产超薄肉色丝袜交足 | 特黄特色特刺激免费播放 | av观看免费在线 | 毛片黄片免费看 | 中文字幕在线视频免费观看 | 欧美在线色图 | 黄色片a级片| 天天干夜夜操 | 久草手机在线观看 | 欧美日韩资源 | 久久av导航| 凹凸精品熟女在线观看 | 国产手机看片 | 岳乳丰满一区二区三区 | 极品粉嫩国产18尤物 | 高清视频免费在线观看 | 日本一区二区三区在线看 | 久久免费看少妇高潮v片特黄 | 一区二区韩国 | 手机在线看片国产 | www黄色大片 | 网站黄色在线观看 | 国产高清99 | 天天弄天天操 | 一起草av在线 | 免费看黄20分钟 | 国产美女主播在线观看 | 伊人资源| 国产视频一区二区三区在线播放 | 成人免费片 | 亚洲成人高清在线 | 久久精品黄色片 | 日韩高清网站 | 成年人福利| 国产精品视频导航 | 婷婷影视 | 爽爽窝窝午夜精品一区二区 |