最實用的20個python小技巧
1.用itertools排列
在這個程序中,我們導(dǎo)入了名為 itertools 的內(nèi)置模塊。使用 itertools,您可以找到給定字符串的所有排列。在 itertools 中有很多方法,您可以嘗試組合和其他方法
import itertools name= 'Python' for i in itertools.permutations(name): print(i)
2.單行條件表達(dá)式
此條件表達(dá)式已添加到?Python?2.5 版本中。這可以與A if condition else B語法一起使用。首先,評估條件并根據(jù)條件的布爾值返回。如果為真,則返回 A,否則,如果為假,則返回 B。
x=10
y=100
res = x if x>y else y
print(f"The greater number is {res}")
3. 反轉(zhuǎn)字符串
在這個程序中,我們使用擴(kuò)展切片來反轉(zhuǎn)字符串,擴(kuò)展切片使用[begin:end:step]語法。所以當(dāng)我們跳過開始、結(jié)束和步驟時,我們傳遞 (-1) 作為值。這將反轉(zhuǎn)給定的字符串。
string = "medium"
reverse_string = string[::-1]
print(f"The reversed string is {reverse_string}")
4. 使用 Assert 處理異常
異常處理是編程中一個非常重要的概念。使用 assert 關(guān)鍵字和給定的條件打印錯誤語句。如果給定的條件不為真,那么它將打印一條錯誤消息并終止程序。
x = int(input("enter a number to divide "))
assert x<=-1 and x>0, 'Number should be greater than 0'
ans = 100/x
print(f'The output is {ans}')
?5. 對多個輸入使用拆分
split() 是字符串方法之一,它將字符串拆分為一個列表。此方法中使用的默認(rèn)分隔符是空格。在這個程序中,不是為輸入操作創(chuàng)建三個重復(fù)的行,而是用一行替換。
a,b,c = input("Enter the value for a, b, c :").split()
print(a)
print(b)
print(c)
6. 用 zip() 轉(zhuǎn)置矩陣
Zip 函數(shù)具有來自不同列的任意數(shù)量的可迭代對象并聚合相應(yīng)的元組。星號(*) 運算符用于解壓縮列表。稍后列表被更改為給定列表的轉(zhuǎn)置矩陣。
matrix=[[1,2],[3,4],[5,6]] trans=zip( *matrix) print(list(trans))
7. 資源上下文管理器
資源管理是編程過程中的重要任務(wù)之一。訪問和釋放文件、鎖和其他資源是一項繁忙的任務(wù)。如果沒有正確關(guān)閉資源,可能會導(dǎo)致內(nèi)存泄漏等幾個問題。為了解決這個問題,不要每次都使用 open 和 close 方法,而是使用代碼片段中所示的上下文管理器。
with open("demo.txt", mode="w") as file:
file.write('Hola!')
8. 下劃線作為分隔符
在程序中使用大數(shù)字時,使用下劃線代替逗號作為分隔符可以提高可讀性。Python 語法不承認(rèn)下劃線。它用下劃線表示,以首選格式表示數(shù)字并且可讀。
x = 10_000_000_000
print(f" It is Ten Billion: {x}")
9. 嘗試 f 字符串格式
F 字符串格式是在 Python 3.6 版本中引入的。它是最簡單易行的字符串格式化方法。使用 f 字符串格式而不是傳統(tǒng)格式使代碼易于理解。
Name = input("Enter your name ")
print(f'Hello{Name}! This is a Python Example')
10.用這個技巧交換整數(shù)
注意交換整數(shù)是在不使用臨時變量的情況下完成的。Python 從左到右計算表達(dá)式,但在賦值操作中,首先計算右側(cè)。這為右側(cè)變量(b 和 a)創(chuàng)建了元組,其值是從左側(cè)變量分配的。此過程有助于交換變量。
a,b = input("Enter the value for a, b :").split()
a,b = b,a
print(a,b)
11. 使用 lambda 代替函數(shù)
Lambda 是最強(qiáng)大的函數(shù)之一,也稱為匿名函數(shù)。它不需要名稱或函數(shù)定義或返回語句。普通函數(shù) def 關(guān)鍵字,而 lambda 函數(shù)使用 lambda 關(guān)鍵字。它的工作方式與函數(shù)類似,只是它只適用于一個表達(dá)式。
x = lambda a, b : a + b print(x(1, 2))
12.多次打印無循環(huán)
在這個程序中,我們嘗試使用單行而不使用循環(huán)多次打印語句。星號 (*) 使您能夠?qū)⒄Z句打印指定的次數(shù)。
print("This is a Python example to print this 100 timesn" *100)
?13. 將字符串解包為變量
一個序列或一個字符串可以解包成不同的變量。在這個程序中,python字符串字母將分別解壓到變量中。程序的輸出將是 p、y、t。
name='Python' a,b,c,d,e,f =name print(a) print(b) print(c)
14. 使用 Map 進(jìn)行列表理解
在這個程序中,我們嘗試將元素添加到列表中。為此,我們將 lambda 函數(shù)與 map 和 list comprehension 結(jié)合使用。該程序的輸出將是 [12, 15, 18]。
num1=[1,2,3] num2= [4,5,6] num3=[7,8,9] result= map(lambda x,y,z:x+y+z,num1,num2,num3) print(list(result))
15. 從列表中刪除重復(fù)項
在這個程序中,我們嘗試從列表中刪除重復(fù)項。要記住的一件事是集合不允許重復(fù)。我們將列表傳遞給 set(),并再次將其更改為列表,刪除列表中的所有重復(fù)元素。
old_list = [1,2,2,3,3,4,5,5,6] new_list = list(set(old_list)) print(new_list)
16. 打印語句中的條件
這個程序很有趣并且包含了相當(dāng)多的操作。首先,將執(zhí)行輸入法,然后將輸入值更改為整數(shù)。然后它將檢查條件并返回一個布爾值。如果它返回,一個非零數(shù)字奇數(shù)將是輸出,或者,如果它返回零,那么偶數(shù)將是輸出。
print("odd" if int(input("enter the value"))%2 else "even")
?17. 條件列表 All 和 Any
在這個程序中,我們一次檢查一個條件列表。有兩個函數(shù):all()和any()。顧名思義,當(dāng)我們使用 all() 時,所有條件都必須為真。并且當(dāng)使用any()時,即使其中一個條件為真,代碼塊也會被執(zhí)行。
Marks = 350
Percentage = 60
Passed = 5
Conditions = [Marks>200, Percentage>50,Passed>4]
if(all(Conditions)):
print("Hired for a company A")
elif(any(Conditions)):
print("Hired for a company B")
else:
print("Rejected")
18. 合并兩個字典
這一條現(xiàn)在已經(jīng)棄用了
在這個程序中,我們嘗試合并兩個字典。請注意,在此程序中,可以使用“|”完成合并 操作員
Household = {'Groceries':'100','Electricity':'150'}
Travel = {'Food':'50','Accomodation':'122','Transport':'70'}
Expense = Household | Travel
print(Expense)
19.檢查執(zhí)行時間
通過導(dǎo)入timeit包來檢查程序的執(zhí)行時間。在這個程序中,形成一個1到1000個列表的執(zhí)行時間。
import timeit
execution_time = timeit.timeit('list(range(1,1000))')
print(execution_time)
20.檢查函數(shù)庫
在這個程序中,我們嘗試檢查函數(shù)的庫。itertools 的所有屬性和模塊都會用這個程序打印出來。
import itertools print(dir(itertools))
到此這篇關(guān)于最實用的20個python小技巧的文章就介紹到這了,更多相關(guān)實用python小技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python json 錯誤xx is not JSON serializable解決辦法
這篇文章主要介紹了Python json 錯誤xx is not JSON serializable解決辦法的相關(guān)資料,需要的朋友可以參考下2017-03-03
Pyhthon中使用compileall模塊編譯源文件為pyc文件
這篇文章主要介紹了Pyhthon中使用compileall模塊編譯源文件為pyc文件,需要的朋友可以參考下2015-04-04
基于Python實現(xiàn)虛假評論檢測可視化系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何基于Python實現(xiàn)一個簡單的虛假評論檢測可視化系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04
Python爬蟲urllib和requests的區(qū)別詳解
這篇文章主要介紹了Python爬蟲urllib和requests的區(qū)別詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
Python中BaseHTTPRequestHandler實現(xiàn)簡單的API接口
本文主要介紹了Python中BaseHTTPRequestHandler實現(xiàn)簡單的API接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Django如何簡單快速實現(xiàn)PUT、DELETE方法
這篇文章主要介紹了Django如何簡單快速實現(xiàn)PUT、DELETE方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
Python流程控制 while循環(huán)實現(xiàn)解析
這篇文章主要介紹了Python流程控制 while循環(huán)實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09

