25條最簡單卻最有用的代碼,看了少走幾年彎路!


自從我用Python編寫第一行代碼以來,阿喵就被它的簡單性、出色的可讀性和特別流行的一行代碼所吸引。

在下面,我將給大家介紹並解釋一些Python一行程序。

可能有些你還不知道,但對你未來的Python項目很有用。建議收藏

▍1、交換兩個變量

# a = 4 b = 5 a,b = b,a # print(a,b) >> 5,4 

讓我們通過交換兩個變量作為一個簡單的開始。

此方法是最簡單、最直觀的方法之一,無需使用臨時變量或應用算術操作即可編寫。

▍2、多個變量賦值

a,b,c = 4,5.5,'Hello' #print(a,b,c) >> 4,5.5,hello 

你可以使用逗號和變量一次性將多個值分配給變量。使用此技術,你可以一次分配多個數據類型。

你可以使用列表將值分配給變量。下面是將列表中的多個值分配給變量的示例。

a,b,*c = [1,2,3,4,5] print(a,b,c) > 1 2 [3,4,5] 

很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那么針對這三類人,我給大家提供一個好的學習平台,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ群:609616831

▍3、列表中偶數的和

有很多方法可以做到這一點,但最好和最簡單的方法是使用列表索引和sum函數。

a = [1,2,3,4,5,6] s = sum([num for num in a if num%2 == 0]) print(s) >> 12 

▍4、從列表中刪除多個元素

del是Python中用於從列表中刪除值的關鍵字。

#### Deleting all even a = [1,2,3,4,5] del a[1::2] print(a) >[1, 3, 5] a 

▍5、讀取文件

lst = [line.strip() for line in open('data.txt')] print(lst) 

這里我們使用列表來處理。

首先,我們打開一個文本文件,並使用for循環,逐行讀取。 最后,使用strip刪除所有不必要的空間。

通過使用列表功能,使得代碼更簡單,更短。

list(open('data.txt')) ##Using with will also close the file after use with open("data.txt") as f: lst=[line.strip() for line in f] print(lst) 

▍6、將數據寫入文件

with open("data.txt",'a',newline='\n') as f: f.write("Python is awsome") 

上面的代碼首先創建一個文件data.txt(如果沒有的話),然后它會在文件中寫Python is awesome。

▍7、創建列表

lst = [i for i in range(0,10)] print(lst) > [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] or lst = list(range(0,10)) print(lst) 

我們也可以使用相同的方法創建一個字符串列表。

lst = [("Hello "+i) for i in ['Karl','Abhay','Zen']] print(lst) > ['Hello Karl', 'Hello Abhay', 'Hello Zen'] 

▍8、映射列表或類型轉換整個列表

有時在我們的項目中,我們需要更改列表中所有元素的數據類型。你想到的第一個方法可能是使用循環,然后訪問列表中的所有元素,然后一個接一個地更改元素的數據類型。

這個方法是老派的,在Python中我們有一個映射函數,可以為我們做這些工作。

list(map(int,['1','2','3'])) > [1, 2, 3] list(map(float,[1,2,3])) > [1.0, 2.0, 3.0] [float(i) for i in [1,2,3]] > [1.0, 2.0, 3.0] 

▍9、創建集合

我們用於創建列表的方法也可以用於創建集合。讓我們使用包含范圍內所有偶數的平方根方法來創建一個集合。

#### Square of all even numbers in an range {x**2 for x in range(10) if x%2==0} > {0, 4, 16, 36, 64} 

▍10、Fizz Buzz

在這個測試中,我們需要編寫一個程序來打印從1到20的數字。但如果是3的倍數,打印Fizz,如果是5的倍數,打印Buzz,如果同時是3和5的倍數,打印FizzBuzz,否則打印數字。

看起來我們必須使用循環和多個if-else語句。如果你嘗試用其他語言來做,你可能需要寫10行代碼,但是使用Python,我們可以只用一行代碼就實現FizzBuzz。

['FizzBuzz' if i%3==0 and i%5==0 else 'Fizz' if i%3==0 else 'Buzz' if i%5==0 else i for i in range(1,20)] 

在上面的代碼中,我們使用列表理解來運行一個從1到20的循環,然后在循環的每次迭代中,我們檢查數字是否能被3或5整除。如果是,那么我們用Fizz或Buzz替換數值,或者用FizzBuzz數值。

▍11、回文

回文是一個數字或字符串,當它被反轉時看起來是一樣的。

text = 'level' ispalindrome = text == text[::-1] ispalindrome > True 

▍12、用空格分隔的整數到一個列表

lis = list(map(int, input().split())) print(lis) > 1 2 3 4 5 6 7 8 [1, 2, 3, 4, 5, 6, 7, 8] 

▍13、Lambda函數

lambda函數是一個小型匿名函數。lambda函數可以接受任意數量的參數,但只能有一個表達式。

# Function that returns square of any number sqr = lambda x: x * x sqr(10) > 100 

▍14、檢查列表中數字的存在

num = 5 if num in [1,2,3,4,5]: print('present') > present 

▍15、打印圖案

在Python中,我們只需要一行代碼就可以繪制出令人驚嘆的圖案。

n = 5 print('\n'.join('😀' * i for i in range(1, n + 1))) > 😀 😀😀 😀😀😀 😀😀😀😀 😀😀😀😀😀 

▍16、查找階乘

階乘是一個整數和它下面所有整數的乘積。

import math n = 6 math.factorial(n) > 720 

▍17、斐波納契數列

一組數字,其中每個數字(斐波那契數)是前面兩個數字的和。最簡單的斐波那契數列1,1,2,3,5,8,13等等。可以使用列表推導式和for循環在一個范圍內創建斐波那契數列。

fibo = [0,1] [fibo.append(fibo[-2]+fibo[-1]) for i in range(5)] fibo > [0, 1, 1, 2, 3, 5, 8] 

▍18、質數

質數是一個只能被自身和1整除的數。例如:2、3、5、7等。為了在一個范圍內生成質數,我們可以使用帶有filter和lambda的list函數來生成質數。

list(filter(lambda x:all(x % y != 0 for y in range(2, x)), range(2, 13))) > [2, 3, 5, 7, 11] 

▍19、查找最大數值

findmax = lambda x,y: x if x > y else y findmax(5,14) > 14 or max(5,14) 

在上面的代碼中,我們使用lambda函數檢查比較條件,並根據返回的最大值。

或者使用max()內置函數。

▍20、線性代數

有時候我們需要將列表中的元素縮放2到5倍。下面的代碼解釋了如何做到這一點。

def scale(lst, x): return [i*x for i in lst] scale([2,3,4], 2) > [4,6,8] 

▍21、矩陣轉置

您需要將所有行轉換為列,反之亦然。在Python中,可以使用zip函數在一行代碼中置換一個矩陣。

a=[[1,2,3], [4,5,6], [7,8,9]] transpose = [list(i) for i in zip(*a)] transpose > [[1, 4, 7], [2, 5, 8], [3, 6, 9]] 

▍22、計數

當我們需要知道某個值在文本中出現的次數時,這是一個重要而有用的用例。在Python中,有re庫可以來幫你完成這項工作。

import re len(re.findall('python','python is a programming language. python is python.')) > 3 

▍23、用其他文本替換文本

"python is a programming language.python is python".replace("python",'Java') > Java is a programming language. Java is Java 

▍24、模擬拋硬幣

這可能不是那么重要,但當你需要從一組給定的選擇中生成一些隨機選擇時,它會非常有用。

import random random.choice(['Head',"Tail"]) > Head 

▍25、生成組

groups = [(a, b) for a in ['a', 'b'] for b in [1, 2, 3]] groups > [('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3)] 

在這里還是要推薦下我自己建的Python學習群:609616831,群里都是學Python的,如果你想學或者正在學習Python ,歡迎你加入,大家都是軟件開發黨,不定期分享干貨(只有Python軟件開發相關的),包括我自己整理的一份2020最新的Python進階資料和零基礎教學,歡迎進階中和對Python感興趣的小伙伴加入!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM