Python中相見恨晚的技巧(記得收藏)
話不多說,直接開干,攢了很久!
1. 交換變量值這個(gè)應(yīng)該比較簡單,但是日常用很容易忽略。
a, b = 5, 10print(a, b) //5, 10a, b = b, aprint(a, b) //10, 52. 將列表中所有元素組合成字符串
這個(gè)其實(shí)也是一個(gè)基本語法
a = [’python’, ’java’, ’c++’, ’go’]print(’,’.join(a)) //python,java,c++,go3. 查找列表中頻率最高的值
感覺用 Python 刷算法題是不是很爽?
a = [1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4]print(max(set(a), key = a.count))4. 檢查兩個(gè)字符串是不是由相同字母打亂順序組成
from collections import Countera = ’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 c9.鏈?zhǔn)胶瘮?shù)調(diào)用
def product(a, b): return a * bdef add(a, b): return a + bb = Trueprint((product if b else add)(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
可變長參數(shù),是一個(gè)字典。
詞典對(duì)象前面的雙星號(hào)可以讓你把該詞典的內(nèi)容作為命名參數(shù)輸入到函數(shù)中。詞典的秘鑰是參數(shù)名,值是傳遞給函數(shù)的值。你甚至不需要稱它為 kwargs!
dictionary = {’a’: 1, ’b’: 2}def func(**kwargs) for key in kwargs: print(’key:’, key, ’value:’,kwargs[key])14. 列表推導(dǎo)式
可以用一行代碼完全列表中的數(shù)據(jù)操作
numbers = [1, 2, 3, 4, 5, 6]y = [x for x in numbers if x % 2 == 0]print(y) //[2, 4, 6]15. map函數(shù)
x = [1, 2, 3]y = map(lambda x : x + 1 , x)print(y) //[2, 3, 4]
以上就是Python中相見恨晚的技巧(記得收藏)的詳細(xì)內(nèi)容,更多關(guān)于python技巧的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章: