日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

 copy_left 2019-07-15

“人生苦短,我選Python”。那么,你真的掌握了Python嗎?

寫在前面:Python學習資料,轉(zhuǎn)發(fā)私信“Python”免費獲取

1. 交換變量

有時候,當我們要交換兩個變量的值時,一種常規(guī)的方法是創(chuàng)建一個臨時變量,然后用它來進行交換。比如:

# 輸入

a = 5

b = 10

#創(chuàng)建臨時變量

temp = a

a = b

b = temp

print(a)

print(b)

但在Python中,其實我們有一種更簡潔的寫法:

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

2. 將list中的所有元素轉(zhuǎn)為單個字符串

列表和字符串是Python中最常見的數(shù)據(jù)類型,它們會遇到互相轉(zhuǎn)換的需要。那么,我們該怎么把list中的所有元素轉(zhuǎn)為字符串呢?

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

3. 查找list中出現(xiàn)次數(shù)最多的元素

給定一個包含多個元素的list,讓你查找其中出現(xiàn)次數(shù)最多的元素,你會怎么做?在下圖中,我們介紹了兩種方法,其中第一種是利用max()函數(shù)的key參數(shù),第二種則是使用Counter。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

4. 判斷兩個字符串是否是anagram

所謂anagram,就是兩個詞所用的字母及其個數(shù)都是一樣的,但是它們字母的位置不一樣,比如abc,bac,acb。在Python中,Counter可以解決這個問題,

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

5. 字符串倒轉(zhuǎn)

字符串倒轉(zhuǎn),就是把1234轉(zhuǎn)成4321。下面我們介紹了三種方法:

方法一:最簡單的切片法,a[::-1]就相當于a[尾:頭:-1]。

方法二:用Python自帶reversed()函數(shù),它可被用于list倒轉(zhuǎn)。

方法三:第三種是通過倒轉(zhuǎn)數(shù)據(jù)類型和切片倒轉(zhuǎn)整數(shù)。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

6. list倒轉(zhuǎn)

和字符串倒轉(zhuǎn)類似,切片法也可以被用于list倒轉(zhuǎn),如下面的第一種方法。第二種方法調(diào)用的是上面提到的reversed()函數(shù)。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

7. 二維矩陣轉(zhuǎn)置

如果要轉(zhuǎn)置矩陣,可以直接使用使用zip()函數(shù)。除此之外,沒有比import numpy更簡單的方法了。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

8. 鏈式比較

如果想輸出數(shù)組中介于4-7之間的元素,java是這么寫的:if( b > 4 && b < 7){ },但Python更人性化。包括最后一句1 == b < 20,這和C、java也很不一樣。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

9. 鏈式調(diào)用

在python中實現(xiàn)鏈式調(diào)用只需在函數(shù)返回對象自己就行了。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

10. 復制list

如果是剛學習Python的C用戶,你可能會想寫b = a,但這是錯的。在Python中,變量指向的是某個對象的標簽。也就是說,按照這種的寫法,b和a指向的是內(nèi)存中的同一個列表,對b操作,就相當于對a操作。所以正確的寫法有以下幾種:

方法一:b=a[:]。

方法二:b=list(a)。

方法三:使用Python 3的copy()函數(shù),直接復制list,類似a[:]。

方法四:使用copy.deepcopy()。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

11. 判斷一個key是否在字典中

如果目標key不在字典中,以下代碼會返回None或default。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

12. 按value排序字典

Python的內(nèi)置字典數(shù)據(jù)類型是無序的,而key可以被用來獲取對應的value。有時我們需要根據(jù)value對字典中的item進行排序輸出。方法如下所示:

方法一:用sorted函數(shù)排序,其中key參數(shù)是lamda表達式。

方法二:用operator.itemgetter而不是lamda表達式進行排序。

方法三:如果只需得到排序后的key,可用.get。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

13. for … else語法

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

14. 用逗號分隔list

下面分別是字符串list、數(shù)字list和混合list的逗號分隔方式。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

15. 合并字典

方法一:Python 3.5可以存在重復鍵值,print({**d1, **d2})。

方法二:在內(nèi)存中創(chuàng)建兩個列表,再創(chuàng)建第三個列表,拷貝完成后,創(chuàng)建新的dict,刪除掉前三個列表。

方法三:d1.update()。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

16. list中的最小和最大索引

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

17. 從list中刪除重復項

方法一:把list轉(zhuǎn)成set,去除重復項,再轉(zhuǎn)回list。

方法二:調(diào)用collections里的OrderedDict,和set差不多。

學好Python每天只需5分鐘,掌握17個冷門技巧,敲代碼速度倍增

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多