Python是一門非常簡潔而優(yōu)美的編程語言,在其他編程語言中需要繁瑣的代碼邏輯才能完成的事情,往往在Python中一行就可以解決。
這樣,它不僅可以減少開發(fā)工作量,還能夠大大提升可讀性,避免在開發(fā)復(fù)雜邏輯過程中造成的失誤。
本文,就來給大家介紹10個(gè)一行代碼到底有多強(qiáng)大!
1. 交換變量
如果大學(xué)學(xué)過C/C++編程課的同學(xué),對(duì)于交換變量一定不會(huì)陌生,這是最基礎(chǔ),也是非常常用的。
如果用C/C++實(shí)現(xiàn)交換變量,需要這樣的操作:
int a, b, c;
c = a;
a = b;
b = c;
而在Python中,一行代碼就可以完成變量的交換。
# a = 1;b = 2
a, b = b, a
# print(a,b) 》》 2 1
這樣,我們就不需要去額外定義一個(gè)臨時(shí)變量,不僅簡單,而且非常直觀。
2. 多變量分配
如果你在分配變量時(shí)同時(shí)包含多種類型的變量,這在很多編程語言中是無法實(shí)現(xiàn)的,但是在Python中一行代碼就可以實(shí)現(xiàn):
a, b, *c = [1,2,3,4,5]
# print(a,b,c) 》》 1 2 [3, 4, 5]
在Python中,可以通過符號(hào)*把列表元素分配給指定的變量,這也叫unpacking。
3. 每隔一個(gè)元素求和
如果有這么一個(gè)列表[1,2,3,4,5,6],你想每隔一個(gè)元素進(jìn)行求和[2, 4, 6],可以這樣使用:
# a = [1,2,3,4,5,6] s = sum(a[1::2]) # print(s) 》》 12
這里,不需要利用復(fù)雜的邏輯,只需要合理利用Python切片就可以實(shí)現(xiàn),[1::]標(biāo)識(shí),從第2個(gè)元素直到列表結(jié)束。
4. 刪除多個(gè)元素
# a = [1,2,3,4,5]
del a[::2]
# print(a) 》》 [2, 4]
強(qiáng)大的切片語法也可以用于一次刪除多個(gè)列表元素。
5. 將文件行讀入到數(shù)組
如果條件或循環(huán)語句比較簡單的話,可以利用列表達(dá)式去簡化代碼:
c = [line.strip() for line in open(‘file.txt’)]
6. 將字符串寫入文件
對(duì)比于其他編程語言常用的open、close去讀寫文件,Python提供的with方法更加簡單,而且不用特意去關(guān)閉文件:
with open(‘file.txt’, ‘a(chǎn)’) as f: f.write(‘hello world’)
7. 創(chuàng)建清單
可以使用內(nèi)聯(lián)for循環(huán)從其他列表中動(dòng)態(tài)創(chuàng)建列表。您可以直接修改值,例如,下面示例中的字符串連接:
l = [(‘Hi ’ + x) for x in [‘Alice’, ‘Bob’, ‘Pete’]]
# print(l) 》》 [‘Hi Alice’, ‘Hi Bob’, ‘Hi Pete’]
8. 列表映射
可以使用Python的 map()函數(shù)將每個(gè)列表元素轉(zhuǎn)換為另一種類型:
l = list(map(int, [‘1’, ‘2’, ‘3’]))
# print(l) 》》 [1, 2, 3]
9. 集合創(chuàng)建
列表達(dá)式除了使用簡單的for循環(huán)語句,還可以結(jié)合條件語句一起使用:
squares = { x**2for x in range(6) if x 《 4 }
# print(squares) 》》 {0, 1, 4, 9}
10. 回文檢查
回文檢查是筆試題經(jīng)常會(huì)出現(xiàn)的一類問題,簡單來說,它就是向前和向后都讀取相同的字符,這也難倒了不少應(yīng)屆畢業(yè)生,利用Python,一行代碼就可以完成:
# phrase = ‘deleveled’
isPalindrome = phrase == phrase[::-1]
# print(isPalindrome) 》》 true
結(jié)語
進(jìn)階Python過程中,會(huì)涉及的編程技巧遠(yuǎn)不止于此,要想深入并精通Python,需要我們持續(xù)學(xué)習(xí),并且不斷的總結(jié)。
提升編碼技能最簡單有效的方法可以總結(jié)兩點(diǎn):“多看別人代碼,多讓別人看自己的代碼”。
不同人的思路,實(shí)現(xiàn)方法不盡相同,看別人代碼過程中,可以看到與眾不同的編碼方式,可以從中汲取一些優(yōu)點(diǎn)。
多讓別人review自己的代碼,能夠不斷的鞭策、激勵(lì)自己改掉編碼過程中的不好習(xí)慣,錯(cuò)誤用法。
責(zé)編AJX
-
字符串
+關(guān)注
關(guān)注
1文章
590瀏覽量
22233 -
源代碼
+關(guān)注
關(guān)注
96文章
2953瀏覽量
68345 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86694
發(fā)布評(píng)論請(qǐng)先 登錄
分享50條經(jīng)典的Python一行代碼
一個(gè)多行的字符串如何一行一行的執(zhí)行然后一行一行的顯示出來啊
如何實(shí)現(xiàn)計(jì)算機(jī)視覺的目標(biāo)檢測(cè)10行Python代碼幫你實(shí)現(xiàn)
Python使用過程中用一行代碼實(shí)現(xiàn)過哪些激動(dòng)人心的功能呢?
使用Python按行讀文件的源代碼免費(fèi)下載

一行代碼將Python程序轉(zhuǎn)換為GUI應(yīng)用程序

一行代碼將Python程序轉(zhuǎn)換為圖形界面應(yīng)用

評(píng)論