python基礎之lamdba

"""匿名函數lambda"""
r=lambda x,y:x*y#實現x*y,
print(r(2,3))

from functools import reduce#調用reduce實現歸併性任務
print(reduce(lambda x,y:x+y,range(1,101)))#實現1到100相加結果5050

"""map函數處理多個序列數據"""
t=map(lambda x:x**2,range(1,10))#平方數組中的元素
#t=map(lambda x:x**2,[1,2,3,4,5,6])
print(t)
print(list(t))#通過list對t進行類型變換,也可以通過循環將t中的值打印出來for a in t:print(a)
print(list(t))#取了一次再取數據就沒了

#按最小數組將兩個數組相加
t=map(lambda x,y:x+y,[1,2,3,4,5],[1,2,4,5])#實現任意數組相加
print(list(t))
t=map(lambda x,y:x+y,range(1,20),range(2,5))#實現連續數組相加
print(list(t))
#可以通過lambda實現數組的加減乘除等計算

"""filter函數數據過濾"""
t=filter(lambda x:x%2==0,range(1,10))#篩選出數組中的偶數,餘數爲0
print(list(t))#等於for a in t:print(a)

"""通過生成器函數Generator實現字符串翻轉"""
def Reverse(data):
    for i in range(len(data)-1,-1,-1):
        yield data[i]
for i in Reverse("python"):
    print(i,end=' ')
print()
str="python"#數組實現字符串翻轉
print(str[::-1])

"""global全局變量"""
a=5
def func():
    global a#獲得全局變量a
    print(a)
    a=3
    print(a)
func()
print(a)#被改變後的a
#nonlocal可以引用比優先級低的作用域下的變量,
# 運行時則會在本地作用域以外按照優先級的順序逐級去尋找聲明的變量,並引用該變量

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章