人生苦短,我選Python」。那麼,你真的掌握了Python嗎?java
1. 交換變量python
有時候,當咱們要交換兩個變量的值時,一種常規的方法是建立一個臨時變量,而後用它來進行交換。好比:數組
# 輸入函數
a = 5學習
b = 103d
#建立臨時變量視頻
temp = a對象
a = bblog
b = temp排序
print(a)
print(b)
但在Python中,其實咱們有一種更簡潔的寫法:
2. 將list中的全部元素轉爲單個字符串
列表和字符串是Python中最多見的數據類型,它們會遇到互相轉換的須要。那麼,咱們該怎麼把list中的全部元素轉爲字符串呢?
3. 查找list中出現次數最多的元素
給定一個包含多個元素的list,讓你查找其中出現次數最多的元素,你會怎麼作?在下圖中,咱們介紹了兩種方法,其中第一種是利用max()函數的key參數,第二種則是使用Counter。
4. 判斷兩個字符串是不是anagram
所謂anagram,就是兩個詞所用的字母及其個數都是同樣的,可是它們字母的位置不同,好比abc,bac,acb。在Python中,Counter能夠解決這個問題,
5. 字符串倒轉
字符串倒轉,就是把1234轉成4321。下面咱們介紹了三種方法:
方法一:最簡單的切片法,a[::-1]就至關於a[尾:頭:-1]。
方法二:用Python自帶reversed()函數,它可被用於list倒轉。
方法三:第三種是經過倒轉數據類型和切片倒轉整數。
若是你在學習Python的過程當中碰見了不少疑問和難題,能夠加-q-u-n 227 -435-450裏面有軟件視頻資料免費
6. list倒轉
和字符串倒轉相似,切片法也能夠被用於list倒轉,以下面的第一種方法。第二種方法調用的是上面提到的reversed()函數。
7. 二維矩陣轉置
若是要轉置矩陣,能夠直接使用使用zip()函數。除此以外,沒有比import numpy更簡單的方法了。
8. 鏈式比較
若是想輸出數組中介於4-7之間的元素,java是這麼寫的:if( b > 4 && b < 7){ },但Python更人性化。包括最後一句1 == b < 20,這和C、java也很不同。
9. 鏈式調用
在python中實現鏈式調用只需在函數返回對象本身就好了。
10. 複製list
若是是剛學習Python的C用戶,你可能會想寫b = a,但這是錯的。在Python中,變量指向的是某個對象的標籤。也就是說,按照這種的寫法,b和a指向的是內存中的同一個列表,對b操做,就至關於對a操做。因此正確的寫法有如下幾種:
方法一:b=a[:]。
方法二:b=list(a)。
方法三:使用Python 3的copy()函數,直接複製list,相似a[:]。
方法四:使用copy.deepcopy()。
11. 判斷一個key是否在字典中
若是目標key不在字典中,如下代碼會返回None或default。
12. 按value排序字典
Python的內置字典數據類型是無序的,而key能夠被用來獲取對應的value。有時咱們須要根據value對字典中的item進行排序輸出。方法以下所示:
方法一:用sorted函數排序,其中key參數是lamda表達式。
方法二:用operator.itemgetter而不是lamda表達式進行排序。
方法三:若是隻需獲得排序後的key,可用.get。
13. for ... else語法
14. 用逗號分隔list
下面分別是字符串list、數字list和混合list的逗號分隔方式。
15. 合併字典
方法一:Python 3.5能夠存在重複key值,print({**d1, **d2})。
方法二:在內存中建立兩個列表,再建立第三個列表,拷貝完成後,建立新的dict,刪除掉前三個列表。
方法三:d1.update()。
16. list中的最小和最大索引
17. 從list中刪除重複項
方法一:把list轉成set,去除重複項,再轉回list。
方法二:調用collections裏的OrderedDict,和set差很少。