六星源課堂:Python中相見恨晚的技巧
1. 交換變量值
這個(gè)應(yīng)該比較簡(jiǎn)單,但是日常用很容易忽略。
當(dāng)然在學(xué)習(xí)Python的道路上肯定會(huì)困難,沒有好的學(xué)習(xí)資料,怎么去學(xué)習(xí)呢?
a, b =5,10print(a, b)//5, 10a, b = b, aprint(a, b)//10, 5
2. 將列表中所有元素組合成字符串
這個(gè)其實(shí)也是一個(gè)基本語法
a = ['python','java','c++','go']print(','.join(a))//python,java,c++,go
3. 查找列表中頻率最高的值
感覺用 Python 刷算法題是不是很爽?
a=[1,1,1,2,3,3,3,3,4,4,4]print(max(set(a),key=a.count))
4. 檢查兩個(gè)字符串是不是由相同字母打亂順序組成
fromcollectionsimportCountera ='abcdefg'b ='adcbgfb'print(Counter(a) == Counter(b))
5. 反轉(zhuǎn)字符串、列表
這個(gè)用 Java 也是一句話就可以實(shí)現(xiàn)
a = 'dadabjdnakdmnkafad'print(a[::-1])num = 1343453535print(int(str(num)[::-1]))a = [1,3,554,64,2]print(a[::-1])
6. 轉(zhuǎn)置二維數(shù)組
origin = [['a','b'], ['c','d'], ['e','f']]transposed = zip(*origin)print(list(transposed ))

7. 鏈?zhǔn)奖容^
這個(gè)比較符合數(shù)學(xué)上的比較習(xí)慣
b=6print(4<b<7)print(1==b<9)
8. 三元運(yùn)算符
其實(shí) Python 中是沒有三元運(yùn)算符的,不過我們可以用另外一種方式替代:
b='B'c='C'flag=Truea= b if flag else c
9.鏈?zhǔn)胶瘮?shù)調(diào)用
defproduct(a, b):returna * bdefadd(a, b):returna + bb =Trueprint((productifbelseadd)(5,7))
10. for-else 語法
注意不是 if-else,而是 for 循環(huán)可以使用 else:
a=[1,2,3,4,5]for el in a:if(el==0)print('找到0了')else:print('沒有找到0')
11. 合并字典
d1 = {'a': 1}d2 = {'b': 2}print(**d1, **d2)# python3.5支持print(dict(d1.items() | d2.items()))d1.update(d2)print(d1)
12. 移除列表中重復(fù)元素
items = [2,2,3,4,1]print(list(set(items)))
13. **kwargs
可變長(zhǎng)參數(shù),是一個(gè)字典。
詞典對(duì)象前面的雙星號(hào)可以讓你把該詞典的內(nèi)容作為命名參數(shù)輸入到函數(shù)中。詞典的秘鑰是參數(shù)名,值是傳遞給函數(shù)的值。你甚至不需要稱它為 kwargs!
dictionary = {'a':1,'b':2}deffunc(**kwargs)forkey in kwargs:print('key:', key,'value:',kwargs[key])
14. 列表推導(dǎo)式
可以用一行代碼完全列表中的數(shù)據(jù)操作
numbers=[1,2,3,4,5,6]y=[xforxinnumbersifx%2==0]print(y)//[2,4,6]
15. map函數(shù)
x=[1,2,3]y=map(lambdax :x+1,x)print(y)//[2,3,4]
以上就是本次分享的全部?jī)?nèi)容,想要學(xué)習(xí)編程的小伙伴們,歡迎前往六星源課堂,獲取更多技能與教程~