自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

25個(gè)超有用的Python代碼段

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

[[311741]]

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)單多了,如下所示。

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

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

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

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

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

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

  1. 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ì)象可檢查。

  1. 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)。

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

6、打印字符串 n 次

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

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

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

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

  1. def palindrome(string): return string == string[::-1
  2.  
  3. palindrome('python') # False 

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

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

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

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

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

  1. def head(list): return list[0
  2.  
  3. print(head([12345])) # 1 

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

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

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

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

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

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

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

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

  1. def average(*args): return sum(args, 0.0) / len(args) 
  2.  
  3. average(582# 5.0 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. 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ù)。

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

19、查找字符串中的唯一字符

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

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

20、使用 lambda 函數(shù)

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

  1. x = lambda a, b, c : a + b + cprint(x(51020)) # 35 

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

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

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

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

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

  1. arr = [12345]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)換。

  1. numbers = [123]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。

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

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

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

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


 

 

 

 

 

 

責(zé)任編輯:張燕妮 來(lái)源: 架構(gòu)頭條
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)