中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

學Python的7個小技巧

發布時間:2020-11-25 10:03:34 來源:億速云 閱讀:111 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關學Python的7個小技巧,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1.一行代碼,巧妙求解

列出1到20的數字,若是3的倍數就用apple代替,若是5的倍數就用orange代替,若既是3的倍數又是5的倍數就用appleorange代替

print ['apple'[i%35::]+'orange'[i%56::] or i for i in range(1,21)]

點評:字符串的處理我自認為掌握的非常熟練了,各種技巧都已經爛熟于心,但是當我看到上面這個解法的時候,徹底跪了太巧妙了.

2.推導列表生成字典

推導列表我相信大家都用過,但是推導列表還能生成字典,非常簡潔.

字典的生成相信每個人都會,但是用推導列表生成字典并不是時刻都會想到的.

3.漂亮的zip生成

zip是一個非常重要的函數,非常方便.熟悉掌握zip幫我大幅的減少函數的代碼和復雜度,并且提高效率。

print dict(zip('abcd',range(4))) 
{'a': 0, 'c': 2, 'b': 1, 'd': 3}
chinese=[90,70,96]
eng=[80,78,90]
math=[96,84,80]
total=[]
for c,m,e in zip(chinese,eng,math):
total.append(c+m+e)
print total
[266, 232, 266]

4.if val is not None

為啥會這樣寫呢,為啥不能寫成 if val ,不知道大家有沒有思考過這樣問題.

其實這兩者是有區別的:比如val 可能為'',0,None,[],{}

如果寫成if val 會把'',0,[],{}這樣的情況也包含在里面,有的時候我們其實只想過濾掉不為None的情況

5.list分組

有的時候我們希望對一個list進行分組,有什么好的辦法呢

通過一個推導列表和切片的完美組合,就可以輕松化解.

a=[3, 8, 9, 4, 1, 10, 6, 7, 2]
print [a[i:i+3] for i in xrange(0,len(a),3)]
[[3, 8, 9], [4, 1, 10], [6, 7, 2]]

6.遞歸的好例子

比如有一個嵌套的列表,里面嵌套了很多層,有列表有元組,層層嵌套,如何把它轉換成只有一層的列表,必須要用遞歸也能解決

7.一個不錯的namedtuple class

namedtuple是collections模塊里面的一個非常有用的函數,類似一個小的迷你類,但是省去了類的一些復雜結構,可以像訪問類的變量一樣去訪問,非常酷.

關于學Python的7個小技巧就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節
推薦閱讀:
  1. Helm小技巧
  2. PHP 小技巧

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上饶县| 通道| 永春县| 竹溪县| 霍州市| 榆社县| 永寿县| 济宁市| 射阳县| 武胜县| 新竹市| 长兴县| 榆树市| 会昌县| 建湖县| 包头市| 高平市| 万山特区| 长春市| 双江| 汕尾市| 南平市| 马边| 绿春县| 惠来县| 黔东| 温州市| 静宁县| 运城市| 罗山县| 罗平县| 阿拉尔市| 铜鼓县| 大埔县| 万山特区| 密云县| 晋中市| 三门县| 南澳县| 扶绥县| 宿州市|