超实用的30个 Python 案例
Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。它的简单和易用性造就了它如此流行的原因。
def all_unique(lst):return len(lst) == len(set(lst))x = [1,1,2,2,3,2,3,4,5,6]y = [1,2,3,4,5]all_unique(x) # Falseall_unique(y) # True
from collections import Counterdef anagram(first, second):return Counter(first) == Counter(second)anagram("abcd3", "3acdb") # True
import sysvariable = 30print(sys.getsizeof(variable)) # 24
def byte_size(string): return(len(string.encode( utf-8 ))) byte_size( 😀 ) # 4 byte_size( Hello World ) # 11n = 2;s ="Programming"; print(s * n);# ProgrammingProgramming
s = "programming is awesome"print(s.title()) # Programming Is Awesome
from math import ceil def chunk(lst, size): return list( map(lambda x: lst[x * size:x * size + size], list(range(0, ceil(len(lst) / size))))) chunk([1,2,3,4,5],2) # [[1,2],[3,4],5]def compact(lst):return list(filter(bool, lst))compact([0, 1, False, 2, , 3, a , s , 34]) # [ 1, 2, 3, a , s , 34 ]
array = [[ a , b ], [ c , d ], [ e , f ]]transposed = zip(*array)print(transposed) # [( a , c , e ), ( b , d , f )]
a = 3print( 2 < a < 8) # Trueprint(1 == a < 2) # False
hobbies = ["basketball", "football", "swimming"]print("My hobbies are: " + ", ".join(hobbies)) # My hobbies are: basketball, football, swimming
import redef count_vowels(str):return len(len(re.findall(r [aeiou] , str, re.IGNORECASE)))count_vowels( foobar ) # 3count_vowels( gym ) # 0
def decapitalize(string):return str[:1].lower() + str[1:]decapitalize( FooBar ) # fooBardecapitalize( FooBar ) # fooBar
def spread(arg): ret = [] for i in arg: if isinstance(i, list): ret.extend(i) else: ret.append(i) return retdef deep_flatten(lst): result = [] result.extend( spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst)))) return resultdeep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]def difference(a, b):set_a = set(a)set_b = set(b)comparison = set_a.difference(set_b)return list(comparison)difference([1,2,3], [1,2,4]) # [3]
def difference_by(a, b, fn):b = set(map(fn, b))return [item for item in a if fn(item) not in b]from math import floordifference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]difference_by([{ x : 2 }, { x : 1 }], [{ x : 1 }], lambda v : v[ x ]) # [ { x: 2 } ]
def add(a, b):return a + bdef subtract(a, b):return a - ba, b = 4, 5print((subtract if a > b else add)(a, b)) # 9
def has_duplicates(lst):return len(lst) != len(set(lst))x = [1,2,3,4,5,5]y = [1,2,3,4,5]has_duplicates(x) # Truehas_duplicates(y) # False
def merge_two_dicts(a, b):c = a.copy() # make a copy of ac.update(b) # modify keys and values of a with the ones from breturn ca = { x : 1, y : 2}b = { y : 3, z : 4}print(merge_two_dicts(a, b)) # { y : 3, x : 1, z : 4}
def merge_dictionaries(a, b) return {**a, **b}a = { x : 1, y : 2}b = { y : 3, z : 4}print(merge_dictionaries(a, b)) # { y : 3, x : 1, z : 4}def to_dictionary(keys, values):return dict(zip(keys, values))keys = ["a", "b", "c"]values = [2, 3, 4]print(to_dictionary(keys, values)) # { a : 2, c : 4, b : 3}
list = ["a", "b", "c", "d"]for index, element in enumerate(list):print("Value", element, "Index ", index, )# ( Value , a , Index , 0)# ( Value , b , Index , 1)#( Value , c , Index , 2)# ( Value , d , Index , 3)
import timestart_time = time.time()a = 1b = 2c = a + bprint(c) #3end_time = time.time()total_time = end_time - start_timeprint("Time: ", total_time)# ( Time: , 1.1205673217773438e-05)
try:2*3except TypeError:print("An exception was raised")else:print("Thank God, no exceptions were raised.")#Thank God, no exceptions were raised.
def most_frequent(list):return max(set(list), key = list.count)list = [1,2,1,2,3,2,1,4,2]most_frequent(list)
def palindrome(string):from re import subs = sub( [W_] , , string.lower())return s == s[::-1]palindrome( taco cat ) # True
import operatoraction = {"+": operator.add,"-": operator.sub,"/": operator.truediv,"*": operator.mul,"**": pow}print(action[ - ](50, 25))
from copy import deepcopyfrom random import randintdef shuffle(lst):temp_lst = deepcopy(lst)m = len(temp_lst)while (m):m -= 1i = randint(0, m)temp_lst[i] = temp_lst[i], temp_lst[m]return temp_lstfoo = [1,2,3]# [2,3,1] , foo = [1,2,3]
def spread(arg):ret = []for i in arg:if isinstance(i, list):ret.extend(i)else:ret.append(i)return retspread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9]
def swap(a, b):return b, aa, b = -1, 14swap(a, b) # (14, -1)
d = { a : 1, b : 2}print(d.get( c , 3)) # 3
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
点阅读原文,看200个Python案例!
评论

