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

20條非常實(shí)用的Python代碼實(shí)例

開(kāi)發(fā) 前端
這篇文章不準(zhǔn)備介紹Python速度如何,而是給大家?guī)?lái)一些常用且實(shí)用的Python代碼實(shí)例,幾乎是開(kāi)發(fā)者必備的知識(shí)點(diǎn)。

 

據(jù)說(shuō)Python之父-Guido Van Rossum打算讓CPython更快,速度直接翻五倍,這是實(shí)實(shí)在在的好消息。

Python一直以來(lái)被詬病速度慢,影響開(kāi)發(fā)效率,希望這次Guido老爺子能幫python打一場(chǎng)漂亮的翻身仗。

這篇文章不準(zhǔn)備介紹Python速度如何,而是給大家?guī)?lái)一些常用且實(shí)用的Python代碼實(shí)例,幾乎是開(kāi)發(fā)者必備的知識(shí)點(diǎn)。

1、合并兩個(gè)字典

Python3.5之后,合并字典變得容易起來(lái)。我們可以通過(guò) ** 符號(hào)解壓字典,并將多個(gè)字典傳入 {} 中,實(shí)現(xiàn)合并。

  1. def Merge(dict1, dict2):  
  2.     res = {**dict1, **dict2}  
  3.     return res  
  4.        
  5. # 兩個(gè)字典 
  6. dict1 = {"name""Joy""age"25
  7. dict2 = {"name""Joy""city""New York"
  8. dict3 = Merge(dict1, dict2)  
  9. print(dict3) 

輸出:

  1. {'name''Joy''age'25'city''New York'

2、鏈?zhǔn)奖容^

python有鏈?zhǔn)奖容^的機(jī)制,在一行里支持多種運(yùn)算符比較。相當(dāng)于拆分多個(gè)邏輯表達(dá)式,再進(jìn)行邏輯與操作。

  1. a = 5 
  2.  
  3. print(2 < a < 8
  4. print(1 == a < 3

輸出:

  1. True 
  2. False 

3、重復(fù)打印字符串

將一個(gè)字符串重復(fù)打印多次,一般使用循環(huán)實(shí)現(xiàn),但有更簡(jiǎn)易的方式可以實(shí)現(xiàn)。

  1. n = 5 
  2. string = "Hello!" 
  3.  
  4. print(string * n) 

輸出:

  1. Hello!Hello!Hello!Hello!Hello! 

4、檢查文件是否存在

我們知道Python有專門(mén)處理系統(tǒng)交互的模塊-os,它可以處理文件的各種增刪改查操作。

那如何檢查一個(gè)文件是否存在呢?os模塊可以輕松實(shí)現(xiàn)。

  1. from os import path 
  2.  
  3. def check_for_file(): 
  4.     print("Does file exist:", path.exists("data.csv")) 
  5.  
  6. if __name__=="__main__"
  7.     check_for_file() 

輸出:

  1. Does file exist: False 

5、檢索列表最后一個(gè)元素

在使用列表的時(shí)候,有時(shí)會(huì)需要取最后一個(gè)元素,有下面幾種方式可以實(shí)現(xiàn)。

  1. my_list = ['banana''apple''orange''pineapple'
  2.  
  3. #索引方法 
  4. last_element = my_list[-1
  5.  
  6. #pop方法 
  7. last_element = my_list.pop() 

輸出:

  1. 'pineapple' 

6、列表推導(dǎo)式

列表推導(dǎo)式是for循環(huán)的簡(jiǎn)易形式,可以在一行代碼里創(chuàng)建一個(gè)新列表,同時(shí)能通過(guò)if語(yǔ)句進(jìn)行判斷篩選

  1. def get_vowels(string): 
  2.     return [vowel for vowel in string if vowel in 'aeiou']  
  3.  
  4. print("Vowels are:", get_vowels('This is some random string')) 

輸出:

  1. Vowels are:  ['i''i''o''e''a''o''i'

7、計(jì)算代碼執(zhí)行時(shí)間

python中time模塊提供了時(shí)間處理相關(guān)的各種函數(shù)方法,我們可以使用它來(lái)計(jì)算代碼執(zhí)行的時(shí)間。

  1. import time 
  2.  
  3. start_time = time.time() 
  4.  
  5. total = 0 
  6. for i in range(10): 
  7.   total += i 
  8. print("Sum:", total) 
  9.  
  10. end_time = time.time() 
  11. time_taken = end_time - start_time 
  12. print("Time: ", time_taken) 

輸出:

  1. Sum: 45 
  2. Time:  0.0009975433349609375 

8、查找出現(xiàn)次數(shù)最多的元素

使用max方法找出列表中出現(xiàn)次數(shù)最多的元素。

  1. def most_frequent(list): 
  2.   return max(set(list), key=list.count) 
  3.  
  4. mylist = [1,1,2,3,4,5,6,6,2,2
  5. print("出現(xiàn)次數(shù)最多的元素是:", most_frequent(mylist)) 

輸出:

出現(xiàn)次數(shù)最多的元素是: 2

9、將兩個(gè)列表轉(zhuǎn)換為字典

有兩個(gè)列表,將列表A里的元素作為鍵,將列表B里的對(duì)應(yīng)元素作為值,組成一個(gè)字典。

  1. def list_to_dictionary(keys, values): 
  2.   return dict(zip(keys, values)) 
  3.  
  4. list1 = [123
  5. list2 = ['one''two''three'
  6.  
  7. print(list_to_dictionary(list1, list2)) 

輸出:

  1. {1'one'2'two'3'three'

10、異常處理

Python提供了try...except...finally的方式來(lái)處理代碼異常,當(dāng)然還有其他組合的方式。

  1. a, b = 1,0 
  2.  
  3. try
  4.     print(a/b) 
  5. except ZeroDivisionError: 
  6.     print("Can not divide by zero"
  7. finally
  8.     print("Executing finally block"

輸出:

  1. Can not divide by zero 
  2. Executing finally block 

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

使用切片操作對(duì)字符串進(jìn)行反轉(zhuǎn),這是比較直接有效的方式。 這也可以用來(lái)檢測(cè)回文數(shù)。

  1. str = "Hello World" 
  2.  
  3. print("反轉(zhuǎn)后字符串是:", str[::-1]) 

輸出:

  1. 反轉(zhuǎn)后字符串是: dlroW olleH 

12、字符串列表組成單個(gè)字符串

使用join方法將字符串列表組成單個(gè)字符串。

  1. list = ["Hello""world""Ok""Bye!"
  2. combined_string = " ".join(list) 
  3.  
  4. print(combined_string) 

輸出:

  1. Hello world Ok Bye! 

13、返回字典缺失鍵的默認(rèn)值

字典中的get方法用于返回指定鍵的值,如果鍵不在字典中返回默認(rèn)值 None 或者設(shè)置的默認(rèn)值。

  1. dict = {1:'one'2:'two'4:'four'
  2.  
  3. #returning three as default value 
  4. print(dict.get(3'three')) 
  5.  
  6. print("原始字典:", dict) 

輸出:

  1. three 
  2. 原始字典: {1'one'2'two'4'four'

14、交換兩個(gè)變量的值

在不使用臨時(shí)變量的前提下,交換兩個(gè)變量的值。

  1. a, b = 510 
  2.  
  3. # 方法1 
  4. a, b = b, a 
  5.  
  6. # 方法2 
  7. def swap(a,b): 
  8.   return b,a 
  9. swap(a,b) 

15、正則表達(dá)式

正則表達(dá)式用來(lái)匹配處理字符串,python中的re模塊提供了全部的正則功能。

  1. import re 
  2.  
  3. text = "The rain in spain" 
  4. result = re.search("rain", text) 
  5.  
  6. print(True if result else False) 

輸出:

  1. True 

16、篩選值

python中的filter方法可以用來(lái)進(jìn)行值的篩選。

  1. my_list = [0,1,2,3,6,7,9,11
  2.  
  3. result = filter(lambda x: x % 2!=0, my_list) 
  4.  
  5. print(list(result)) 

輸出:

  1. [137911

17、統(tǒng)計(jì)字頻

判斷字符串每個(gè)元素出現(xiàn)的次數(shù),可以用collections模塊中的Counter方法來(lái)實(shí)現(xiàn),非常簡(jiǎn)潔。

  1. from collections import Counter 
  2. result = Counter('banana'
  3. print(result) 

輸出:

  1. Counter({'a'3'n'2'b'1}) 

18、變量的內(nèi)存占用

如何輸出python中變量的內(nèi)存占用大小,可以通過(guò)sys模塊來(lái)實(shí)現(xiàn)。

  1. import sys 
  2.  
  3. var1 = 15 
  4. list1 = [1,2,3,4,5
  5.  
  6. print(sys.getsizeof(var1)) 
  7. print(sys.getsizeof(list1)) 

輸出:

19、鏈?zhǔn)胶瘮?shù)調(diào)用

在一行代碼中調(diào)用多個(gè)函數(shù)。

  1. def add(a, b): 
  2.     return a + b 
  3.  
  4. def subtract(a, b): 
  5.     return a - b 
  6.  
  7. a, b = 510 
  8.  
  9. print((add if b > a else subtract)(a,b)) 

輸出:

20、從列表中刪除重復(fù)項(xiàng)

刪除列表中重復(fù)項(xiàng)一般可以通過(guò)遍歷來(lái)篩選去重,或者直接使用集合方法。

  1. list1 = [1,2,3,3,4,'John''Ana''Mark''John'
  2.  
  3. # 方法1 
  4. def remove_duplicate(list_value): 
  5.     return list(set(list_value)) 
  6. print(remove_duplicate(list1)) 
  7.  
  8. # 方法2 
  9. result = [] 
  10. [result.append(x) for x in list1 if x not in result] 
  11. print(result) 

輸出:

  1. [1234'Ana''John''Mark'
  2. [1234'John''Ana''Mark'

 

責(zé)任編輯:張燕妮 來(lái)源: 知乎
相關(guān)推薦

2021-07-25 22:43:39

Python代碼開(kāi)發(fā)

2024-11-13 13:14:38

2020-08-21 10:25:02

Python庫(kù)Wget

2020-09-14 11:10:43

Python庫(kù)代碼

2020-07-10 15:41:41

Python代碼編程語(yǔ)言

2015-11-02 09:25:07

jQuery代碼片段

2022-07-21 14:38:17

PythonShell

2011-07-07 09:01:52

HTML 5

2021-04-11 07:56:42

ShellLinux

2021-04-15 11:21:26

Shell腳本Linux

2022-06-24 10:02:43

PythonShell腳本

2020-05-28 08:59:40

Python機(jī)器學(xué)習(xí)開(kāi)發(fā)

2024-07-02 11:29:28

Typer庫(kù)Python命令

2018-04-10 16:20:38

Python性能優(yōu)化

2021-01-26 12:16:00

Python開(kāi)發(fā)工具

2020-11-11 11:05:41

Linux工具命令

2019-06-19 08:09:05

CSSJavaScript前端

2017-12-12 14:50:33

數(shù)據(jù)庫(kù)MySQL命令

2017-09-05 08:57:02

Linux命令行技巧

2016-05-10 10:16:13

JavaScript技巧
點(diǎn)贊
收藏

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