成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

20個值得學習的Python技巧

開發 后端
本文為大家介紹20個值得記住的 Python 技巧,可以提升您編程技巧, 并為您節省大量時間。在平常編程過程中,以下技巧大多非常有用。

 [[356644]]

本文為大家介紹20個值得記住的 Python 技巧,可以提升您編程技巧, 并為您節省大量時間。在平常編程過程中,以下技巧大多非常有用。

(原譯文不通順的地方,Python開發者 已做修改優化。)

1 字符串反轉

使用切片反轉字符串。 

  1. str1="qwert"   
  2. rev_str1=str1[::-1]   
  3. #輸出    
  4. # trewq 

2 使首字母大寫

將字符串轉換為首字母大寫。使用 title()方法完成的。 

  1. str1="this is a book"   
  2. print(str1.title())   
  3. # This Is A Book 

3 在字符串中查找唯一元素

下面代碼可用于查找字符串中所有的唯一元素。 

  1. str1="aabbccccdddd"  
  2. setset1=set(str1)   
  3. new_str=''.join(set1)   
  4. print(new_str) 

4 重復打印字符串或列表

下面的代碼中,對字符串或列表使用(*)。把字符串或列表復制多次。 

  1. i=4   
  2. str1="abcd"   
  3. list1=[1,2]   
  4. print(str1*i)   
  5. # abcdabcdabcdabcd  
  6.  print(list1*i)   
  7. # [1,2,1,2,1,2,1,2] 

5 列表推導式

列表推導式為我們提供了一種在其他列表基礎上創建列表的好方法。下面代碼通過將舊列表的每個元素乘以 2 來創建新列表。 

  1. list1=[1,2,3]   
  2. new_list1=[2*i for i in list1]   
  3. # [2,4,6] 

6 交換變量

不使用另一個變量,實現變量交換。 

  1. x=1   
  2. y=2   
  3. x,yy=y,x   
  4. print(x) # 2    
  5. print(y) # 1 

7 將字符串拆分為子字符串列表

我們使用字符串類中的.split()方法將字符串拆分為子字符串列表,還可以將要分割的分隔符作為參數傳遞。 

  1. str1="This is a book"  
  2. str2="test/ str 2"  
  3. print(str1.split()) # ['This', 'is', 'a', 'book'] 
  4.  print(str2.split('/')) # ['test', ' str 2'] 

8 將字符串列表組合成單個字符串

join()將作為參數傳遞的字符串列表組合為單個字符串。這種情況下,我們使用逗號分隔符將它們分開。 

  1. list_str=['This','is','a','book']  
  2. print(','.join(list_str))  
  3. # This,is,a,book 

9 檢查回文字符串

我們已經討論過如何反轉字符串,因此回文字符串在 Python 中判斷起來非常簡單。 

  1. str1="qqaabb"  
  2. if str1==str1[::-1]:  
  3.   print("回文")  
  4. else:  
  5.   print("不是")  
  6.   # 不是 

10 列表中的元素統計

使用 Python Counter 類。Python 計數器跟蹤容器中每個元素的頻數, Counter()返回一個字典,元素作為鍵,頻數作為值。

另外使用 most_common()函數來獲取列表中的 出現次數最多的元素。 

  1. from collections import Counter  
  2. list1=['a','b','a','c','c','c'] 
  3. count=Counter(list1)  
  4. print(count)  
  5. print(count['b'])  
  6. print(count.most_common(1)) 

11 判斷兩個字符串是否為異序詞

異序詞是通過重新排列不同單詞或短語的字母而形成的單詞或短語。如果兩個字符串的 Counter 對象相等,那么它們就是相同字母異序詞對。 

  1. s1,s2,s3="acbde","abced","abcda" 
  2. c1,c2,c3=Counter(s1),Counter(s2),Counter(s3)  
  3. if c1==c2:  
  4.   print('1和2是異序詞')  
  5.  if c1==c3:  
  6.    print('1和3是異序詞') 

12 使用 try-except-else 塊

try / except 是 Python 中的異常處理模塊,添加 else 語句,會在 try 塊中沒有引發異常的情況下運行。 

  1. a,b=1,0  
  2. try:  
  3.   print(a/b)  
  4.   # b為0的時候觸發異常  
  5. except ZeroDivisionError:  
  6.   print("除數為0")  
  7. else:  
  8.   print("不存在異常")  
  9. finally:  
  10.   print("此段總是會執行") 

13 通過枚舉獲取索引 / 值對

可以使用下面的腳本,遍歷列表中的值及其索引。 

  1. list1=['a','b','c','d','e']  
  2. for idx,val in enumerate(list1):  
  3.   print('{0}:{1}'.format(idx,val))  
  4. # 0:a 
  5. # 1:b 
  6. # 2:c  
  7. # 3:d  
  8. # 4:e 

14 獲取對象的內存使用信息

下面腳本可用于檢查對象的內存使用信息。 

  1. import sys  
  2. num=21  
  3. print(sys.getsizeof(num)) 

15 合并兩個字典

在 Python 2 中,使用 update()合并兩個字典,Python 3 變得更加簡單。

下面腳本中,兩個字典被合并。在相交的情況下,使用第二個字典中的值。 

  1. dic1={'app':9,'banana':6}  
  2. dic2={'banana':4,'orange':8}  
  3. com_dict={**dic1,**dic2}  
  4. # {'apple':9,'banana':4,'orange':8} 

16 計算代碼執行所需的時間

下面代碼使用庫函數來計算執行代碼所需的時間消耗多少毫秒。 

  1. import time  
  2. s_time=time.time()  
  3. a,b=1,2  
  4. c=a+b   
  5. e_time=time.time()  
  6. time_taken_in_micro=(e_time-stime)*(10**6)  
  7. print("程序運行的毫秒:{0} ms".format(time_taken_in_micro))  

17 展開列表清單

有時不知道列表的嵌套深度,并且只想把所有元素放在一個普通列表中。可以通下面的方法得到數據: 

  1. from iteration_utilities import deepflatten  
  2. # 如果嵌套列表的深度只有1層  
  3. def flatten(l):  
  4.   return [item for sublist in l for item in sublist]  
  5. l=[[1,2,3],[3]]  
  6. print(flatten(l))  
  7. # [1,2,3,3]   
  8. # 如果不知道列表嵌套深度  
  9. l=[[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]  
  10. print(list(deepflatten(l,depth=3)))  
  11. # [1,2,3,4,5,6,7,8,9,10] 

18 從列表中隨機取樣

下面代碼從給定列表中生成了 n 個隨機樣本。 

  1. import random  
  2. list1=['a','b','c','d','e']  
  3. ns=2  
  4. samples=random.sample(list1,ns)  
  5. print(samples)  
  6. # ['a','c'] 

或者使用secrets庫生成隨機樣本進行, 下面代碼僅適用于 Python 3.x。 

  1. import secrets  
  2. s_rand=secrets.SystemRanom()  
  3. list1=['a','b','c','d','e']  
  4. ns=2  
  5. samples=s_rand.sample(list1,ns)  
  6. print(samples)  
  7. # ['c','d'] 

19 數字列表化

下面代碼將整數轉換為數字列表。 

  1. nums=123456  
  2. # 使用map  
  3. digit_list=list(map(int,str(nums)))  
  4. print(digit_list)  
  5. # [1,2,3,4,5,6]  
  6. # 使用列表表達式  
  7. digit_list=[int(x) for x in str(nums)]  
  8. print(digit_list)  
  9. # [1,2,3,4,5,6] 

20 唯一性檢查

下面的函數檢查列表中的元素是否唯一。 

  1. def unique(l):  
  2.   if len(l)==len(set(l)):  
  3.       print("所有元素是唯一的")  
  4.    else:  
  5.       print("存在重復")  
  6.  unique([1,2,3,4])  
  7.  # 所有元素是唯一的  
  8.  unique([1,1,3,4])  
  9.  # 存在重復  

 

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2018-02-09 14:55:45

GitHubPython機器學習

2025-04-11 08:26:41

2013-07-22 10:01:03

JavascriptWeb

2023-05-24 16:39:30

CSS技巧開發

2021-01-31 23:56:49

JavaScript開發代碼

2020-09-06 08:19:11

Python編程語言開發

2020-02-03 12:25:35

Python工具服務器

2024-09-06 17:32:55

字符串Python

2018-12-07 10:30:50

盤點CSS前端

2024-03-11 15:17:53

2019-12-06 13:58:42

GitHubCSS開源

2022-04-01 15:17:05

Java開發技巧

2017-02-17 15:30:52

2024-12-06 17:13:07

2020-07-25 20:01:45

CSS前端

2020-07-23 07:27:50

編程學習技術

2021-06-17 07:45:35

Javascript 技巧效率

2022-09-30 08:31:06

TypeScriptJavaScrip

2021-01-21 09:45:16

Python字符串代碼

2018-04-26 10:48:36

機器學習神經網絡TensorFlow
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美三级久久久 | 欧美精品一区二区三区四区五区 | 成人片网址| 久久综合久久综合久久 | aaaaaa大片免费看最大的 | 久久久精品黄色 | 国产精品日韩欧美一区二区三区 | 中文字幕亚洲一区 | 精品国产一区二区三区性色av | 一级a性色生活片久久毛片波多野 | 国产精品黄| 成人在线视频观看 | 999精彩视频 | 亚洲视频一区在线观看 | 久久伊人精品 | 欧美日韩综合精品 | 日韩精品一区二区三区视频播放 | 久久精品亚洲精品国产欧美kt∨ | 无毛av| 成年人视频在线免费观看 | 91成人在线视频 | 久久免费看 | 亚洲va欧美va天堂v国产综合 | 91精品国产色综合久久不卡蜜臀 | 免费视频久久久久 | 在线观看中文字幕dvd播放 | 久久精品国产亚洲 | 国产在线中文字幕 | 亚洲国产成人精品久久 | 亚洲一区二区在线 | 日日干夜夜操 | 精品视频在线播放 | 五十女人一级毛片 | 日韩在线观看网站 | 天堂资源最新在线 | 国产精品美女久久久久久免费 | 一区久久| 国产精品 欧美精品 | 日韩在线一区二区三区 | 国产一级大片 | 九九色综合|