python-生成器函数进阶和各种推导式day15
生活随笔
收集整理的這篇文章主要介紹了
python-生成器函数进阶和各种推导式day15
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
def generator():for i in range(20000):yield "哇哈哈%s"%(i)
g=generator()
ret=g.__next__()
print(ret)
num=0
for i in g:num+=1if num>50:breakprint(i)
#從生成器中取值方法#next#for#數據類型轉換:占內存
#[每一個元素或者元素相關的操作 for 元素 in 可迭代數據類型]
#[滿足條件的元素相關的操作 for 元素 in 可迭代數據類型 if 元素相關的條件] #30以內能被3整出的平方 ret = [i**2 for i in range(30) if i%3==0] print(ret) #找到嵌套列表中名字含有兩個‘e’的所有名字 names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] name=[name for lst in names for name in lst if name.count('e')==2] print(name) #將一個字典的key和Value對調 dic={'a':10,'b':39} dic_sort={dic[k]:k for k in dic} print(dic_sort)
?生成器的進階和各種推導式:
def generator():print(1)content=yield 1print('===',content)yield 2 g=generator() #生成器 ret=g.__next__() #進行第一次迭代 print(ret) ret2=g.send("你好啊") #進行第二次迭代 print(ret2) #send方法域next方法類似 #使用send注意事項:#第一次使用生成器是只能用next#最后一個yield不能接受外部的傳值 #移動平均值 def init(func):def inner(*args,**kwargs):g=func(*args,**kwargs)g.__next__()return greturn inner @init def average():sum=0count=0avg=0while True:num=yield avgsum+=numcount+=1avg=sum/count avg_g=average() ret=avg_g.send(10) print(ret) ret=avg_g.send(20) print(ret) ret=avg_g.send(11) print(ret) def generator2():a="asdasd"b="13124"yield from a #等價于 for i in a: print(i)yield from b g=generator2() for i in g:print(i)#[每一個元素或者元素相關的操作 for 元素 in 可迭代數據類型]
#[滿足條件的元素相關的操作 for 元素 in 可迭代數據類型 if 元素相關的條件] #30以內能被3整出的平方 ret = [i**2 for i in range(30) if i%3==0] print(ret) #找到嵌套列表中名字含有兩個‘e’的所有名字 names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] name=[name for lst in names for name in lst if name.count('e')==2] print(name) #將一個字典的key和Value對調 dic={'a':10,'b':39} dic_sort={dic[k]:k for k in dic} print(dic_sort)
?
轉載于:https://www.cnblogs.com/orange126/p/10878019.html
總結
以上是生活随笔為你收集整理的python-生成器函数进阶和各种推导式day15的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 中生成随机数
- 下一篇: ConcurrentHashMap核心原