日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
20個(gè)值得學(xué)習(xí)的Python技巧

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

創(chuàng)新互聯(lián)建站專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、孟村網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開(kāi)發(fā)、孟村網(wǎng)絡(luò)營(yíng)銷(xiāo)、孟村企業(yè)策劃、孟村品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供孟村建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

(原譯文不通順的地方,Python開(kāi)發(fā)者 已做修改優(yōu)化。)

1 字符串反轉(zhuǎn)

使用切片反轉(zhuǎn)字符串。

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

2 使首字母大寫(xiě)

將字符串轉(zhuǎn)換為首字母大寫(xiě)。使用 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 重復(fù)打印字符串或列表

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

 
 
 
  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 列表推導(dǎo)式

列表推導(dǎo)式為我們提供了一種在其他列表基礎(chǔ)上創(chuàng)建列表的好方法。下面代碼通過(guò)將舊列表的每個(gè)元素乘以 2 來(lái)創(chuàng)建新列表。

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

6 交換變量

不使用另一個(gè)變量,實(shí)現(xiàn)變量交換。

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

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

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

 
 
 
  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 將字符串列表組合成單個(gè)字符串

join()將作為參數(shù)傳遞的字符串列表組合為單個(gè)字符串。這種情況下,我們使用逗號(hào)分隔符將它們分開(kāi)。

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

9 檢查回文字符串

我們已經(jīng)討論過(guò)如何反轉(zhuǎn)字符串,因此回文字符串在 Python 中判斷起來(lái)非常簡(jiǎn)單。

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

10 列表中的元素統(tǒng)計(jì)

使用 Python Counter 類(lèi)。Python 計(jì)數(shù)器跟蹤容器中每個(gè)元素的頻數(shù), Counter()返回一個(gè)字典,元素作為鍵,頻數(shù)作為值。

另外使用 most_common()函數(shù)來(lái)獲取列表中的 出現(xiàn)次數(shù)最多的元素。

 
 
 
  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 判斷兩個(gè)字符串是否為異序詞

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

 
 
 
  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 語(yǔ)句,會(huì)在 try 塊中沒(méi)有引發(fā)異常的情況下運(yùn)行。

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

13 通過(guò)枚舉獲取索引 / 值對(duì)

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

 
 
 
  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 獲取對(duì)象的內(nèi)存使用信息

下面腳本可用于檢查對(duì)象的內(nèi)存使用信息。

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

15 合并兩個(gè)字典

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

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

 
 
 
  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 計(jì)算代碼執(zhí)行所需的時(shí)間

下面代碼使用庫(kù)函數(shù)來(lái)計(jì)算執(zhí)行代碼所需的時(shí)間消耗多少毫秒。

 
 
 
  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("程序運(yùn)行的毫秒:{0} ms".format(time_taken_in_micro)) 

17 展開(kāi)列表清單

有時(shí)不知道列表的嵌套深度,并且只想把所有元素放在一個(gè)普通列表中??梢酝ㄏ旅娴姆椒ǖ玫綌?shù)據(jù):

 
 
 
  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 從列表中隨機(jī)取樣

下面代碼從給定列表中生成了 n 個(gè)隨機(jī)樣本。

 
 
 
  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庫(kù)生成隨機(jī)樣本進(jìn)行, 下面代碼僅適用于 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 數(shù)字列表化

下面代碼將整數(shù)轉(zhuǎn)換為數(shù)字列表。

 
 
 
  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. # 使用列表表達(dá)式 
  7. digit_list=[int(x) for x in str(nums)] 
  8. print(digit_list) 
  9. # [1,2,3,4,5,6]

20 唯一性檢查

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

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

當(dāng)前名稱(chēng):20個(gè)值得學(xué)習(xí)的Python技巧
標(biāo)題URL:http://www.5511xx.com/article/djsijcd.html