国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

20個(gè)非常有用的Python單行代碼

這篇具有很好參考價(jià)值的文章主要介紹了20個(gè)非常有用的Python單行代碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

有用的 Python 單行代碼片段,只需一行代碼即可解決特定編碼問題!

在本文中,小編將分享20 個(gè) Python 一行代碼,你可以在 30 秒或更短的時(shí)間內(nèi)輕松學(xué)習(xí)它們。這種單行代碼將節(jié)省你的時(shí)間,并使你的代碼看起來更干凈且易于閱讀。

目錄

前言

1、一行 For 循環(huán)

2、一行 While 循環(huán)

3、一行 IF Else 語(yǔ)句

4、一行合并字典

5、一行函數(shù)

6、一行遞歸

7、一行數(shù)組過濾

8、一行異常處理

9、一行列表轉(zhuǎn)字典

10、一行多變量

11、一行交換值

12、一行排序

13、一行讀取文件

14、一行類

15、一行分號(hào)

16、一行打印

17、一行map函數(shù)

18、刪除列表第一行中的 Mul 元素

19、一行打印圖案

20、一行查找質(zhì)數(shù)


1、一行 For 循環(huán)

for 循環(huán)是一個(gè)多行語(yǔ)句,但是在 Python 中,我們可以使用列表推導(dǎo)式方法在一行中編寫 for 循環(huán)。以過濾小于250的值為例,查看下面的代碼示例。

#For循環(huán)在一行
mylist?=?[200,?300,?400,?500]
#正常方式
result?=?[]?
for?x?in?mylist:?
????if?x?>?250:?
????????result.append(x)?
print(result)?#?[300,?400,?500]
#一行代碼方式
result?=?[x?for?x?in?mylist?if?x?>?250]?
print(result)?#?[300,?400,?500]

2、一行 While 循環(huán)

這個(gè) One-Liner 片段將向你展示如何在一行中使用 While 循環(huán)代碼,我已經(jīng)展示了兩種方法。

#方法?1?Single?Statement?
while?True:?print(1)?#infinite?1
#方法?2?多語(yǔ)句
x?=?0?
while?x?<?5:?print(x);?x=?x?+?1?#?0?1?2?3?4?5

3、一行 IF Else 語(yǔ)句

好吧,要在一行中編寫 IF Else 語(yǔ)句,我們將使用三元運(yùn)算符。三元的語(yǔ)法是“[on true] if [expression] else [on false]”。

我在下面的示例代碼中展示了 3 個(gè)示例,以使你清楚地了解如何將三元運(yùn)算符用于一行 if-else 語(yǔ)句。要使用 Elif 語(yǔ)句,我們必須使用多個(gè)三元運(yùn)算符。

#if?Else?在一行中
#Example?1?if?else
print("Yes")?if?8?>?9?else?print("No")?#?No
#Example?2?if?elif?else?
E?=?2?
print("High")?if?E?==?5?else?print("數(shù)據(jù)STUDIO")?if?E?==?2?else?
print("Low")?#?數(shù)據(jù)STUDIO?
?
#Example?3?only?if
if?3?>?2:?print("Exactly")?#?Exactly

4、一行合并字典

這個(gè) 單行代碼段將向你展示如何使用一行代碼將兩個(gè)字典合并為一個(gè)。下面我展示了兩種合并字典的方法。

#?在一行中合并字典
d1?=?{?'A':?1,?'B':?2?}?
d2?=?{?'C':?3,?'D':?4?}
#方法?1?
d1.update(d2)?
print(d1)?#?{'A':?1,?'B':?2,?'C':?3,?'D':?4}
#方法?2?
d3?=?{**d1,?**d2}?
print(d3)?#?{'A':?1,?'B':?2,?'C':?3,?'D':?4}

5、一行函數(shù)

我們有兩種方法可以在一行中編寫函數(shù),在第一種方法中,我們將使用與三元運(yùn)算符或單行循環(huán)方法相同的函數(shù)定義。

第二種方法是用 lambda 定義函數(shù)。查看下面的示例代碼以獲得更清晰的理解。

#函數(shù)在一行中
#方法一
def?fun(x):?return?True?if?x?%?2?==?0?else?False?
print(fun(2))?#?False
#方法2
fun?=?lambda?x?:?x?%?2?==?0?
print(fun(2))?#?True?
print(fun(3))?#?False

6、一行遞歸

這個(gè)單行代碼片段將展示如何在一行中使用遞歸。我們將使用一行函數(shù)定義和一行 if-else 語(yǔ)句。下面是查找斐波那契數(shù)的示例。

#?單行遞歸
#Fibonaci?單行遞歸示例
def?Fib(x):?return?1?if?x?in?{0,?1}?else?Fib(x-1)?+?Fib(x-2)
print(Fib(5))?#?8
print(Fib(15))?#?987

7、一行數(shù)組過濾

Python 列表可以通過使用列表推導(dǎo)方法在一行代碼中進(jìn)行過濾。以過濾偶數(shù)列表為例。

#?一行中的數(shù)組過濾
mylist?=?[2,?3,?5,?8,?9,?12,?13,?15]
#正常方式
result?=?[]?
for?x?in?mylist:?
????if?x?%?2?==?0:?
????????result.append(x)
print(result)?#?[2,?8,?12]
#?單線方式
result?=?[x?for?x?in?mylist?if?x?%?2?==?0]?
print(result)?#?[2,?8,?12]

8、一行異常處理

我們使用異常處理來處理 Python 中的運(yùn)行時(shí)錯(cuò)誤。你知道我們可以在一行中編寫這個(gè) Try except 語(yǔ)句嗎?通過使用 exec() 語(yǔ)句,我們可以做到這一點(diǎn)。

#?一行異常處理
#原始方式
try:
????print(x)
except:
????print("Error")
#單行方式
exec('try:print(x)?\nexcept:print("Error")')?#?錯(cuò)誤

9、一行列表轉(zhuǎn)字典

我們可以使用 Python enumerate() 函數(shù)將 List 轉(zhuǎn)換為一行字典。在enumerate() 中傳遞列表并使用dict() 將最終輸出轉(zhuǎn)換為字典格式。

#?字典在一行
mydict?=?["John",?"Peter",?"Mathew",?"Tom"]
mydict?=?dict(enumerate(mydict))
print(mydict)?#?{0:?'John',?1:?'Peter',?2:?'Mathew',?3:?'Tom'}

10、一行多變量

Python 允許在一行中進(jìn)行多個(gè)變量賦值。下面的示例代碼將向你展示如何做到這一點(diǎn)。

#多行變量
#正常方式
x?=?5?
y?=?7?
z?=?10?
print(x?,?y,?z)?#?5?7?10
#單行方式
a,?b,?c?=?5,?7,?10?
print(a,?b,?c)?#?5?7?10

11、一行交換值

交換是編程中一項(xiàng)有趣的任務(wù),并且總是需要第三個(gè)變量名稱 temp 來保存交換值。這個(gè)單行代碼段將向你展示如何在沒有任何臨時(shí)變量的情況下交換一行中的值。

#換成一行
#正常方式
v1?=?100
v2?=?200
temp?=?v1
v1?=?v2?
v2?=?temp
print(v1,?v2)?#?200?100
#?單行交換
v1,?v2?=?v2,?v1?
print(v1,?v2)?#?200?100

12、一行排序

排序是編程中的一個(gè)普遍問題,Python 有許多內(nèi)置的方法來解決這個(gè)排序問題。下面的代碼示例將展示如何在一行中進(jìn)行排序。

#?在一行中排序
mylist?=?[32,?22,?11,?4,?6,?8,?12]?
#?方法?1
mylist.sort()?
print(mylist)?#?#?[4,?6,?8,?11,?12,?22,?32]
print(sorted(mylist))?#?[4,?6,?8,?11,?12,?22,?32]

13、一行讀取文件

不使用語(yǔ)句或正常讀取方法,也可以正確讀取一行文件。

#一行讀取文件
#正常方式
with?open("data.txt",?"r")?as?file:?
????data?=?file.readline()?
????print(data)?#?Hello?world
#單行方式
data?=?[line.strip()?for?line?in?open("data.txt","r")]?
print(data)?#?['hello?world',?'Hello?Python']

14、一行類

上課總是多線工作。但是在 Python 中,有一些方法可以在一行代碼中使用類特性。

#?一行中的類
#普通方式
class?Emp:?
????def?__init__(self,?name,?age):?
????????self.name?=?name?
????????self.age?=?age
????????emp1?=?Emp("云朵君",?22)?
print(emp1.name,?emp1.age)?#?云朵君?22
#單行方式
#方法?1?帶有動(dòng)態(tài)?Artibutes?的?Lambda

Emp?=?lambda:None;?Emp.name?=?"云朵君";?Emp.age?=?22
print(Emp.name,?Emp.age)?#?云朵君?22

#方法?2?
from?collections?import?namedtuple
Emp?=?namedtuple('Emp',?["name",?"age"])?("云朵君",?22)?
print(Emp.name,?Emp.age)?#?云朵君?22

15、一行分號(hào)

一行代碼片段中的分號(hào)將向你展示如何使用分號(hào)在一行中編寫多行代碼。

#?一行分號(hào)
#?例?1?
a?=?"Python";?b?=?"編程";?c?=?"語(yǔ)言";?print(a,?b,?c)
#?輸出
#?Python?編程語(yǔ)言

16、一行打印

這不是很重要的片段,但有時(shí)當(dāng)你不需要使用循環(huán)來執(zhí)行任務(wù)時(shí)它很有用。

#?一行打印
#正常方式
for?x?in?range(1,?5):
????print(x)?#?1?2?3?4
#單行方式
print(*range(1,?5))?#?1?2?3?4
print(*range(1,?6))?#?1?2?3?4?5

17、一行map函數(shù)

Map 函數(shù)是適用的高階函數(shù)。這將函數(shù)應(yīng)用于每個(gè)元素。下面是我們?nèi)绾卧谝恍写a中使用 map 函數(shù)的示例。

#在一行中map
print(list(map(lambda?a:?a?+?2,?[5,?6,?7,?8,?9,?10])))
#?輸出
#?[7,?8,?9,?10,?11,?12]

18、刪除列表第一行中的 Mul 元素

你現(xiàn)在可以使用 del 方法在一行代碼中刪除 List 中的多個(gè)元素,而無需進(jìn)行任何修改。

#?刪除一行中的Mul元素
mylist?=?[100,?200,?300,?400,?500]
del?mylist[1::2]
print(mylist)?#?[100,?300,?500]

19、一行打印圖案

現(xiàn)在你不再需要使用for循環(huán)來打印相同的圖案。你可以使用 print 語(yǔ)句和星號(hào) (*) 在一行代碼中執(zhí)行相同的操作。

#?在一行中打印圖案#?
#?正常方式
for?x?in?range(3):
????print('')
#?輸出
#???
#單行方式
print(''?*?3)?#????
print(''?*?2)?#???
print(''?*?1)?#?

20、一行查找質(zhì)數(shù)

此代碼段將向你展示如何編寫單行代碼來查找范圍內(nèi)的素?cái)?shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-827994.html

#?查找質(zhì)數(shù)
print(list(filter(lambda?a:?all(a?%?b?!=?0?for?b?in?range(2,?a)),
??????????????????range(2,20))))
#?輸出
#?[2,?3,?5,?7,?11,?13,?17,?19]

到了這里,關(guān)于20個(gè)非常有用的Python單行代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python Pygame游戲開發(fā)教程正式發(fā)布(非常詳細(xì))

    Python Pygame游戲開發(fā)教程正式發(fā)布(非常詳細(xì))

    Pygame 是一款專門為開發(fā)和設(shè)計(jì) 2D 電子游戲而生的、免費(fèi)開源的 Python 軟件包/模塊,它支 Windows、Linux、Mac OS 等操作系統(tǒng),具有良好的跨平臺(tái)性 Pygame 在 SDL 的基礎(chǔ)上開發(fā)而成,它提供了諸多操作模塊,比如圖像模塊(image)、聲音模塊(mixer)、輸入/輸出(鼠標(biāo)、鍵盤、顯示屏

    2024年04月13日
    瀏覽(25)
  • 基于Python語(yǔ)言Django+Layui實(shí)現(xiàn)的低代碼開發(fā)平臺(tái)

    基于Python語(yǔ)言Django+Layui實(shí)現(xiàn)的低代碼開發(fā)平臺(tái)

    一款 Python 語(yǔ)言基于Django、Layui、MySQL等框架精心打造的一款模塊化、高性能、企業(yè)級(jí)的敏捷開發(fā)框架,本著簡(jiǎn)化開發(fā)、提升開發(fā)效率的初衷觸發(fā),框架自研了一套個(gè)性化的組件,實(shí)現(xiàn)了可插拔的組件式開發(fā)方式:?jiǎn)螆D上傳、多圖上傳、下拉選擇、開關(guān)按鈕、單選按鈕、多選按

    2024年02月11日
    瀏覽(22)
  • C++&Python&C# 三語(yǔ)言O(shè)penCV從零開發(fā)(6):邊界填充+Csharp調(diào)用Python matplotlib代碼

    C++&Python&C# 三語(yǔ)言O(shè)penCV從零開發(fā)(6):邊界填充+Csharp調(diào)用Python matplotlib代碼

    C++PythonCsharp in OpenCV 專欄 【2022B站最好的OpenCV課程推薦】OpenCV從入門到實(shí)戰(zhàn) 全套課程(附帶課程課件資料+課件筆記) 今天來接著學(xué)習(xí)OpenCV,現(xiàn)在主要是以Python代碼為主了,所以先實(shí)現(xiàn)Python,在用C++/Csharp重現(xiàn)一遍。 邊界填充就是向外填充圖片信息,將圖片擴(kuò)大。填充分為上下

    2024年01月23日
    瀏覽(33)
  • 非常有用的Linux網(wǎng)絡(luò)診斷命令:traceroute

    非常有用的Linux網(wǎng)絡(luò)診斷命令:traceroute

    traceroute 是一個(gè)網(wǎng)絡(luò)診斷工具,用于檢測(cè)數(shù)據(jù)包從本機(jī)到目標(biāo)主機(jī)經(jīng)過的路由路徑。它可以幫助我們分析出網(wǎng)絡(luò)連接的瓶頸,定位網(wǎng)絡(luò)問題,并幫助我們優(yōu)化網(wǎng)絡(luò)連接。在 Linux 系統(tǒng)中,traceroute 命令是一個(gè)非常常用的工具。 在大多數(shù) Linux 發(fā)行版中,traceroute 工具已經(jīng)默認(rèn)安裝

    2024年02月13日
    瀏覽(22)
  • python入門小游戲代碼20行,python小游戲代碼大全

    python入門小游戲代碼20行,python小游戲代碼大全

    大家好,給大家分享一下python簡(jiǎn)單小游戲代碼20行,很多人還不知道這一點(diǎn)。下面詳細(xì)解釋一下。現(xiàn)在讓我們來看看! 01 整體框架 平臺(tái):pycharm 關(guān)于pygame的安裝這里就不在贅述,大家自行上網(wǎng)找合適自己的版本的安裝即可。關(guān)于pygame模塊知識(shí)會(huì)穿插在下面代碼中介紹,用到什

    2024年04月22日
    瀏覽(24)
  • python入門小游戲代碼20行,python小游戲代碼1000行

    python入門小游戲代碼20行,python小游戲代碼1000行

    大家好,給大家分享一下python簡(jiǎn)單小游戲代碼100行,很多人還不知道這一點(diǎn)。下面詳細(xì)解釋一下。現(xiàn)在讓我們來看看! Python非常受歡迎的一個(gè)原因是它的應(yīng)用領(lǐng)域非常廣泛,其中就包括游戲開發(fā)。而是用Python進(jìn)行游戲開發(fā)的首選模塊就是PyGamepython基礎(chǔ)知識(shí)重點(diǎn)。 PyGame是跨平

    2024年01月16日
    瀏覽(51)
  • python入門小游戲代碼20行,python超簡(jiǎn)單小游戲代碼

    python入門小游戲代碼20行,python超簡(jiǎn)單小游戲代碼

    大家好,小編為大家解答python簡(jiǎn)單小游戲代碼100行的問題。很多人還不知道python入門小游戲代碼20行,現(xiàn)在讓我們一起來看看吧! Source code download: 本文相關(guān)源碼 大家好,小編來為大家解答以下問題,一些簡(jiǎn)單好玩的python編程游戲,python編寫的入門簡(jiǎn)單小游戲,今天讓我們一

    2024年01月19日
    瀏覽(24)
  • Linux命令200例:nc非常有用的網(wǎng)絡(luò)工具(常用)

    Linux命令200例:nc非常有用的網(wǎng)絡(luò)工具(常用)

    ??作者簡(jiǎn)介,黑夜開發(fā)者,全棧領(lǐng)域新星創(chuàng)作者?。CSDN專家博主,阿里云社區(qū)專家博主,2023年6月csdn上海賽道top4。 ??數(shù)年電商行業(yè)從業(yè)經(jīng)驗(yàn),歷任核心研發(fā)工程師,項(xiàng)目技術(shù)負(fù)責(zé)人。 ??本文已收錄于專欄:Linux命令大全。 ??本專欄我們會(huì)通過 具體的系統(tǒng)的命令講解 加上

    2024年02月12日
    瀏覽(28)
  • MySQL:Skip-grant-tables非常有用啟動(dòng)參數(shù)

    介紹一個(gè)非常有用的mysql啟動(dòng)參數(shù)—— --skip-grant-tables。 顧名思義,就是在啟動(dòng)mysql時(shí)不啟動(dòng)grant-tables,授權(quán)表。有什么用呢? 忘記管理員密碼后有用 操作方法: 1、停止mysql服務(wù) 2、以命令行參數(shù)啟動(dòng)mysql 3、修改管理員密碼 4、殺死m(xù)ysql,重啟mysql

    2024年01月25日
    瀏覽(16)
  • python01-單行注釋和多行注釋

    從今天開始帶著大家一起開始玩轉(zhuǎn)python很多語(yǔ)法,我會(huì)由淺入深開始把python的相關(guān)內(nèi)容都更新起來。 當(dāng)然也不會(huì)太淺了,所以我的開篇是單行注釋和多行注釋。 程序的注釋雖然為代碼的功能帶來不了什么實(shí)際的心功能變化,但為程序添加注釋可以用來解釋程序的某些部分的

    2024年01月21日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包