python实用小技巧
生活随笔
收集整理的這篇文章主要介紹了
python实用小技巧
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
-
檢查重復(fù)元素
- def all_unique(lst):return len(lst) == len(set(lst))
-
變位詞
- # 檢測兩個字符串是否為變位詞 from collections import Counter def anagram(first, second):return Counter(first) == Counter(second)
-
檢查內(nèi)存使用情況
- import sys variable = 30 print(sys.getsizeof(variable))# 計算當(dāng)前代碼所使用的內(nèi)存和時間 import os import time import psutil from contextlib import contextmanager @contextmanager def timer_memory(name):t0 = time.time()yieldprint(f"Memory: {(psutil.Process(os.getpid()).memory_info().rss/2**30):.02f}GB")print(f"{name} done in {time.time-t0:.0f}s")# 使用方法 with timer_memory('Reading data'):'''code'''
-
字節(jié)大小計算
- def byte_size(string):return (len(string.encode(utf-8)))
-
首字母大寫
- s = '' s.title()
-
分塊
- # 數(shù)據(jù)分塊,將列表分為指定大小 import math def chunk(lst, size):return list(map(lambda x: lst[x*size:x*size+size], list(range(0, math.ceil(len(lst)/size)))))
-
壓縮
- # 使用filter刪除列表中的錯誤值或者指定值 def compact(lst):return list(filter(bool, lst))
-
間隔數(shù)
- # 轉(zhuǎn)換二維數(shù)組 arr = [[1,2],[3,4],[5,6]] transposed = zip(*arr) # --> [(1,3,5), (2,4,6)]
-
計算字符串中元音字母數(shù)
- import re def count_vowels(strs):return len(len(re.findall(r[aeiou], strs, re.IGNORECASE)))
-
平面化
- # 將列表中的列表去除 def spread(arg):ret = []for i in arg:ret.extend(i) if isinstance(i, list) else ret.append(i)return ret def deep_flatten(lst):res = []res.extend(spread(list(map(lambda x:deep_flatten(x) if type(x)==list else x, lst))))return res # [1, [2,3], [[4],[5]], 6] --> [1,2,3,4,5,6]
-
差異
- # 返回兩個迭代器中差異的值 def difference(a, b):set_a = set(a)set_b = set(b)comparison = set_a.difference(set_b)return list(comparison)
-
尋找差異
- def difference_by(a, b, fn):b = set(map(fn, b))return [item for item in a if fn(item) not in b]
-
合并兩個字典
- # 方法1 def merge_two_dicts(a, b):c = a.copy()c.update(b)return c # 方法2, python>=3.5 def merge_two_dicts(a, b):return {**a, **b}
-
將列表轉(zhuǎn)化為字典
- def to_dict(keys:list, values:list):return dict(zip(keys, values))
-
Try else 指令
- try:c = 2*3 except TypeError:print('An exception was raised !') else:print('no exception !')
-
返回列表中重復(fù)出現(xiàn)最多的元素
- def most_frequent(lst):return max(set(lst), key=lst.count)
-
回文
- def palindrome(string):import res = re.sub([W_], , string.lower())return s == s[::-1]
-
簡單計算器
- import operator action = {'+': operator.add, '-': operator.sub, '/': operator.truediv, '*': operator.mul, '**': pow} print(action['-'](50, 25))
總結(jié)
以上是生活随笔為你收集整理的python实用小技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。