25個(gè)超有用的Python代碼段有哪些-創(chuàng)新互聯(lián)

本篇文章為大家展示了25個(gè)超有用的Python代碼段有哪些,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁(yè)美工、網(wǎng)站程序員、網(wǎng)頁(yè)設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷人員及形象策劃。承接:成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫(kù)開(kāi)發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。

Python是一種通用的高級(jí)編程語(yǔ)言。用它可以做許多事,比如開(kāi)發(fā)桌面 GUI 應(yīng)用程序、網(wǎng)站和 Web 應(yīng)用程序等。

作為一種高級(jí)編程語(yǔ)言,Python 還可以讓你通過(guò)處理常見(jiàn)的編程任務(wù)來(lái)專注應(yīng)用程序的核心功能。并且,編程語(yǔ)言的簡(jiǎn)單語(yǔ)法規(guī)則進(jìn)一步簡(jiǎn)化了代碼庫(kù)的可讀性和應(yīng)用程序的可維護(hù)性。

與其他編程語(yǔ)言相比,Python 的優(yōu)勢(shì)在于:

與主要平臺(tái)和操作系統(tǒng)兼容;

有許多開(kāi)源框架和工具;

代碼具備可讀性和可維護(hù)性;

健壯的標(biāo)準(zhǔn)庫(kù);

標(biāo)準(zhǔn)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)

在本文中,我將介紹 25 個(gè)簡(jiǎn)短且有用的代碼段,它們可以幫你完成日常任務(wù)。

1、在兩個(gè)變量之間交換值

在其他語(yǔ)言中,要在兩個(gè)變量間交換值而不是用第三個(gè)變量,我們要么使用算術(shù)運(yùn)算符,要么使用位異或(Bitwise XOR)。在 Python 中,它就簡(jiǎn)單多了,如下所示。

a = 5b = 10 a,b = b,aprint(a) # 10print(b) # 5

2、檢查給定的數(shù)字是否為偶數(shù)

如果給定的數(shù)字為偶數(shù),則如下函數(shù)返回 Ture,否則返回 False。

def is_even(num): eturn num % 2 == 0 is_even(10) # True

3、將多行字符串拆分為行列表

以下函數(shù)可用于將多行字符串拆分為行列表。

def split_lines(s): return s.split('n')split_lines('50n pythonn snippets') # ['50', ' python', ' snippets']

4、查找對(duì)象使用的內(nèi)存

標(biāo)準(zhǔn)庫(kù)的 sys 模塊提供了 getsizeof() 函數(shù)。該函數(shù)接受一個(gè)對(duì)象,調(diào)用對(duì)象的 sizeof() 方法,并返回結(jié)果,這樣做能使對(duì)象可檢查。

import sysprint(sys.getsizeof(5)) # 28print(sys.getsizeof("Python")) # 55

5、反轉(zhuǎn)字符串

Python 字符串庫(kù)不像其他 Python 容器(如 list) 那樣支持內(nèi)置的 reverse()。反轉(zhuǎn)字符串有很多方法,其中最簡(jiǎn)單的方法是使用切片運(yùn)算符(slicing operator)。

language = "python"reversed_language = language[::-1]print(reversed_language) # nohtyp

6、打印字符串 n 次

在不使用循環(huán)的情況下,要打印一個(gè)字符串 n 次是非常容易的,如下所示。

def repeat(string, n): return (string * n) repeat('python', 3) # pythonpythonpython

7、檢查字符串是否為回文

以下函數(shù)用于檢查字符串是否為回文。

def palindrome(string): return string == string[::-1] palindrome('python') # False

8、將字符串列表合并為單個(gè)字符串

下面的代碼段將字符串列表組合成單個(gè)字符串。

strings = ['50', 'python', 'snippets']print(','.join(strings)) # 50,python,snippets

9、查找列表的第一個(gè)元素

此函數(shù)返回所傳遞列表的第一個(gè)元素。

def head(list): return list[0] print(head([1, 2, 3, 4, 5])) # 1

10、查找存在于兩個(gè)列表中任一列表存在的元素

此函數(shù)返回兩個(gè)列表中任一列表中的每個(gè)元素。

def union(a,b): return list(set(a + b))union([1, 2, 3, 4, 5], [6, 2, 8, 1, 4]) # [1,2,3,4,5,6,8]

11、查找給定列表中的所有元素

此函數(shù)返回給定列表中存在的元素。

def unique_elements(numbers): return list(set(numbers)) unique_elements([1, 2, 3, 2, 4]) # [1, 2, 3, 4]

12、求一組數(shù)字的平均值

此函數(shù)返回列表中兩個(gè)或多個(gè)數(shù)字的平均值。

def average(*args): return sum(args, 0.0) / len(args) average(5, 8, 2) # 5.0

13、檢查列表是否包含所有值

此函數(shù)檢查列表中的所有元素是否都是的。

def unique(list): if len(list)==len(set(list)): print("All elements are unique") else: print("List has duplicates") unique([1,2,3,4,5]) # All elements are unique

14、跟蹤列表中元素的頻率

Python 計(jì)數(shù)器跟蹤容器中每個(gè)元素的頻率。Counter() 返回一個(gè)以元素為鍵、以其出現(xiàn)頻率為值的字典。

from collections import Counterlist = [1, 2, 3, 2, 4, 3, 2, 3]count = Counter(list)print(count) # {2: 3, 3: 3, 1: 1, 4: 1}

15、查找列表中最常用的元素

此函數(shù)返回列表中出現(xiàn)頻率高的元素。

def most_frequent(list): return max(set(list), key = list.count) numbers = [1, 2, 3, 2, 4, 3, 1, 3]most_frequent(numbers) # 3

16、將角度轉(zhuǎn)換為弧度

下面的函數(shù)用于將角度轉(zhuǎn)換為弧度。

import mathdef degrees_to_radians(deg): return (deg * math.pi) / 180.0 degrees_to_radians(90) # 1.5707963267948966

17、計(jì)算執(zhí)行一段代碼所需的時(shí)間

以下代碼段用于計(jì)算執(zhí)行一段代碼所需的時(shí)間。

import timestart_time = time.time()a,b = 5,10c = a+bend_time = time.time()time_taken = (end_time- start_time)*(10**6)print("Time taken in micro_seconds:", time_taken) # Time taken in micro_seconds: 39.577484130859375

18、查找數(shù)字列表的較大公約數(shù)

此函數(shù)計(jì)算數(shù)字列表中的較大公約數(shù)。

from functools import reduceimport mathdef gcd(numbers): return reduce(math.gcd, numbers)gcd([24,108,90]) # 6

19、查找字符串中的字符

此代碼段可用于查找字符串中的所有字符。

string = "abcbcabdb" unique = set(string)new_string = ''.join(unique)print(new_string) # abcd

20、使用 lambda 函數(shù)

Lambda 是一個(gè)匿名函數(shù),它只能保存一個(gè)表達(dá)式。

x = lambda a, b, c : a + b + cprint(x(5, 10, 20)) # 35

21、使用映射函數(shù)

此函數(shù)在將給定函數(shù)應(yīng)用于給定迭代的每個(gè)項(xiàng)(列表、元組等)之后,返回一個(gè)結(jié)果列表。

def multiply(n): return n * n list = (1, 2, 3) result = map(multiply, list) print(list(result)) # {1, 4, 9}

22、使用篩選函數(shù)

此函數(shù)在通過(guò)一個(gè)函數(shù)過(guò)濾給定的序列,測(cè)試序列中的每個(gè)元素是否為真。

arr = [1, 2, 3, 4, 5]arr = list(filter(lambda x : x%2 == 0, arr))print (arr) # [2, 4]

23、使用列表解析

列表解析(list comprehensions)為我們提供了一種基于某些迭代創(chuàng)建列表的簡(jiǎn)單方法。在創(chuàng)建過(guò)程中,可以將來(lái)自可迭代的元素有條件地包含到新列表中,并根據(jù)需要進(jìn)行轉(zhuǎn)換。

numbers = [1, 2, 3]squares = [number**2 for number in numbers]print(squares) # [1, 4, 9]

24、使用切片運(yùn)算符

切片(Slicing)用于從給定序列中提取連續(xù)的元素序列或子序列。下面的函數(shù)用于連接兩個(gè)切片運(yùn)算的結(jié)果。首先,我們將列表從索引 d 切片到末尾,然后從開(kāi)頭切片到索引 d。

def rotate(arr, d): return arr[d:] + arr[:d] if __name__ == '__main__': arr = [1, 2, 3, 4, 5] arr = rotate(arr, 2) print (arr) # [3, 4, 5, 1, 2]

25、使用函數(shù)鏈?zhǔn)秸{(diào)用

最后的代碼段用于從一行調(diào)用多個(gè)函數(shù)并計(jì)算結(jié)果。

def add(a, b): return a + bdef subtract(a, b): return a - ba, b = 5, 10print((subtract if a > b else add)(a, b)) # 15

上述內(nèi)容就是25個(gè)超有用的Python代碼段有哪些,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:25個(gè)超有用的Python代碼段有哪些-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://bm7419.com/article0/dpocoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、外貿(mào)建站網(wǎng)站設(shè)計(jì)公司、企業(yè)建站建站公司、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)