python中的小魔法(一)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python中的小魔法(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                總第101篇
if-else的簡潔寫法
#常規寫法 if a>b:c=a else:c=b#簡潔寫法 ? ? c=a if a>b else b列表生成式
對一個列表中的每個元素執行某個操作,然后生成一個新的列表。代替掉了繁瑣的for循環。
#常規做法 a=[-1,-2,1,2,3,4,5] b=[] for i in a:if i>0:b.append(pow(i,2))#求平方 print(b) ----------------- [1, 4, 9, 16, 25]#列表生成式 a=[-1,-2,1,2,3,4,5] b=[pow(x,2) for x in a if x>0] print(b) ----------------- [1, 4, 9, 16, 25]lambda匿名函數
匿名函數與標準方式聲明的函數區別在于,不需要使用 def 語句,也不需要一個名字來引用它,很簡潔方便。
#常規函數 def test(x):x=x*2return x test(10) -- 20#匿名函數 test1=lambda x:x*2 print(test1(10)) -- 20#匿名函數也可以是多參數 test1=lambda x,y:x*y print(test1(2,10)) -- 20map函數
map(function,args),map函數是對序列args中每個元素進行function操作,得到一個結果序列。
a = map(lambda x,y:x+y,[1,2,3],[3,2,1]) for i in a:print(i) -- 4 4 4#一般map函數會和list一起用,將結果轉化為一個list a =list(map(lambda x,y:x+y,[1,2,3],[3,2,1])) print(a) ------- [4,4,4]#你還可以這樣用 a=pd.Series([1,2,3]) a.map(lambda x:x*2) ------- 0 2 1 4 2 6#請注意上述的lambda函數可以換成任意的函數filter函數
filter(function,iterable),filter俗稱過濾器函數,顧名思義就是按照給定的函數function從序列iterable中過濾出相應的元素。
a = filter(lambda x:x>2,[1,2,3,4]) for i in a:print(i) -- 3 4#與list結合使用 a =list(filter(lambda x:x>2,[1,2,3,4])) print(a) ----- [3,4]還有applay、reduce函數現在慢慢都被淘汰了,這里就不寫了。還有更多好用的函數等待挖掘,以后持續更新。
你還可以看:
IPython的一些使用技巧
總結
以上是生活随笔為你收集整理的python中的小魔法(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 抖音豪豪7890骂人事件原委介绍 豪豪7
 - 下一篇: 机器学习中的参数调整