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

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

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

1. 寫在前面

繼上篇,繼續(xù)在本文分享 20 個(gè) Python 單行代碼,可以在 30 秒或更短時(shí)間內(nèi)輕松學(xué)會(huì)。這些單行代碼不僅可以提高效率,同時(shí)使代碼看起來(lái)更整潔、更易讀。:)

個(gè)人博客: https://jianpengzhang.github.io/
CSDN博客: http://blog.csdn.net/u011521019
公眾號(hào): 滑翔的紙飛機(jī)

2. Python 單行代碼

2.1. 單行 for 循環(huán)

for 循環(huán)是多行語(yǔ)句,但在 Python 中,可以使用列表推導(dǎo)在一行中編寫 for 循環(huán)。例如,要過(guò)濾掉小于 250 的值,請(qǐng)看下面的代碼示例。

常規(guī)方式:
In [3]: mylist = [200, 300, 400, 500]
In [4]: result = []
In [5]: for x in mylist:
   ...:     if x > 250:
   ...:         result.append(x)
   ...: 
In [6]: print(result)
[300, 400, 500]

單行方式:
In [7]: result = [x for x in mylist if x > 250]
In [8]: print(result)
[300, 400, 500]

2.2. 單行 While 循環(huán)

在一行中使用 While 循環(huán)代碼,演示兩種不同的方法。

# Method 1 單一聲明
In [9]: while True: print(1) # 無(wú)限 1

# Method 2 多重聲明
In [10]: x = 0
    ...: while x < 5: print(x); x= x + 1
0
1
2
3
4

2.3. 單行 if else 語(yǔ)句

單行 if else 將使用三元運(yùn)算符。三元運(yùn)算符的語(yǔ)法是"[on true] if [expression] else [on false]"

示例代碼中展示 3 個(gè)示例,可以清楚地了解如何在單行 if-else 語(yǔ)句中使用三元運(yùn)算符:

# Example 1: if else 

In [11]: print("Yes") if 8 > 9 else print("No")
No

# Example 2: if elif else: 從右至左進(jìn)行判斷

In [15]: E = 2
In [16]: print("High") if E == 5 else print("數(shù)據(jù)STUDIO") if E == 2 else print("Low")
數(shù)據(jù)STUDIO

# Example 3: only if 
 
In [17]: if 3 > 2: print("Exactly")
Exactly

2.4. 單行合并詞典

如何使用一行代碼將兩個(gè)字典合并為一個(gè)字典。在這里,介紹兩種合并詞典的方法:

# 單行合并詞典
In [18]: d1 = { 'A': 1, 'B': 2 }
    ...: d2 = { 'C': 3, 'D': 4 }
    
# Method1:
In [19]: d1.update(d2)
    ...: print(d1)
{'A': 1, 'B': 2, 'C': 3, 'D': 4}

# Method2:
In [20]: d3 = {**d1, **d2}
    ...: print(d3)
{'A': 1, 'B': 2, 'C': 3, 'D': 4}

2.5. 單行函數(shù)

第一種方法,使用與三元運(yùn)算符或單行循環(huán)方法相同的函數(shù)定義。
第二種方法,使用 lambda 來(lái)定義函數(shù)。

請(qǐng)看下面的示例代碼,以便更清楚地理解:

# 單行函數(shù)
# Method1:
In [21]: def fun(x): return True if x % 2 == 0 else False
    ...: print(fun(2))
True

# Method2:
In [22]: fun = lambda x : x % 2 == 0
In [23]: print(fun(2))
True
In [24]: print(fun(3))
False

2.6. 單行遞歸

如何在一行中使用遞歸。使用單行函數(shù)和單行 if-else 語(yǔ)句。下面是一個(gè)查找斐波那契數(shù)字的示例:

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

2.7. 單行篩選數(shù)組

使用 Python 列表推導(dǎo)方法可以在一行代碼中完成對(duì)數(shù)組的篩選。下面是一個(gè)過(guò)濾偶數(shù)列表的示例:

# 單行篩選數(shù)組
# 常規(guī)方式:
In [29]: result = []
    ...: for x in mylist:
    ...:     if x % 2 == 0:
    ...:         result.append(x)
    ...: print(result)
[2, 8, 12]

# 單行方式:
In [30]: result = [x for x in mylist if x % 2 == 0]
    ...: print(result)
[2, 8, 12]

2.8. 單行異常處理

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

# 在一行中處理異常
# 常規(guī)方式

In [32]: try:
    ...:     print(x)
    ...: except:
    ...:     print("Error")
    ...: 
Error

# 單行方式
In [34]: exec('try:print(x) \nexcept:print("Error")')
Error

【注意:】謹(jǐn)慎使用 exec、eval , 其中 eval() 盡量用ast 模塊的 literal()替換。

2.9. 一行中將列表轉(zhuǎn)換為字典

使用 Python enumerate() 函數(shù)在一行內(nèi)將列表轉(zhuǎn)換為字典。將列表傳遞給 enumerate(),然后使用 dict() 將最終輸出轉(zhuǎn)換為字典格式。

# 單行字典

In [36]: mydict = ["John", "Peter", "Mathew", "Tom"]
    ...: mydict = dict(enumerate(mydict))
    ...: print(mydict)
{0: 'John', 1: 'Peter', 2: 'Mathew', 3: 'Tom'}

2.10. 單行多變量

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

# 在一行中分配多個(gè)變量。
# 單行方法

In [37]: x = 5
    ...: y = 7
    ...: z = 10
    ...: print(x , y, z)
5 7 10

# 單行方式
In [38]: a, b, c = 5, 7, 10
    ...: print(a, b, c)
5 7 10

2.11. 單行數(shù)據(jù)交換

在一行中交換值。交換值是編程中一項(xiàng)有趣的任務(wù),但它總是需要第三個(gè)變量名 temp 來(lái)保存交換值。這個(gè)單行代碼片段將告訴你如何在一行中交換值,而不需要任何臨時(shí)變量。

常規(guī)方式:
In [1]: v1 = 100
   ...: v2 = 200
   ...: temp = v1
   ...: v1 = v2
   ...: v2 = temp
   ...: print(v1, v2)
200 100

單行方式:
In [2]: v1, v2 = v2, v1
...: print(v1, v2)
100 200

2.12. 單行排序

排序是編程中常見的問題,Python 有許多內(nèi)置方法來(lái)解決排序問題。下面的代碼示例將展示如何用一行代碼進(jìn)行排序。

In [3]: mylist = [32, 22, 11, 4, 6, 8, 12]

# 常規(guī)方式
In [4]: mylist.sort()
   ...: print(mylist)
[4, 6, 8, 11, 12, 22, 32]

# 單行方式
In [5]: print(sorted(mylist))
[4, 6, 8, 11, 12, 22, 32]

2.13. 單行讀取文件

不使用語(yǔ)句或普通讀取方法,也能正確讀取文件的某一行。

# 單行讀取文件

# 常規(guī)方式
In [1]: with open("data.txt", "r") as file:
   ...:     data = file.readline()
   ...:     print(data)
   ...: 
hello world

# 單行方式
In [3]: data = [line.strip() for line in open("data.txt","r")]
   ...: print(data)
['hello world', 'Hello Python']

2.14. 單行類

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

# 單行類
# 常規(guī)方式

In [5]: class Emp:
   ...:     def __init__(self, name, age):
   ...:         self.name = name
   ...:         self.age = age
   ...: emp1 = Emp("a44", 22)
   ...: print(emp1.name, emp1.age)
a44 22

# 當(dāng)行方式
# Method 1: 帶有動(dòng)態(tài)屬性的 Lambda
In [6]: Emp = lambda:None; Emp.name = "a44"; Emp.age = 22
   ...: print(Emp.name, Emp.age)
a44 22

# Method 2
In [7]: from collections import namedtuple
   ...: Emp = namedtuple('Emp', ["name", "age"]) ("a44", 22)
   ...: print(Emp.name, Emp.age)
a44 22

2.15. 單行分號(hào)

在本代碼片段中,展示了如何使用分號(hào)在一行中編寫多行代碼。

In [8]: a = "Python"; b = "Programming"; c = "languages"; print(a, b, c)
Python Programming languages

2.16. 單行打印

這不是一個(gè)重要代碼片段,但有時(shí)在不需要使用循環(huán)來(lái)執(zhí)行任務(wù)時(shí),它可能會(huì)很有用。

常規(guī)方式:
In [9]: for x in range(1, 5):
   ...:     print(x)
   ...: 
1
2
3
4

單行方式:
In [10]: print(*range(1, 5))
1 2 3 4

In [11]: print(*range(1, 6))
1 2 3 4 5

2.17. 單行map函數(shù)

map 函數(shù)是一個(gè)有用的高階函數(shù),它可以對(duì)每個(gè)元素應(yīng)用一個(gè)函數(shù)。下面舉例說(shuō)明如何在一行代碼中使用 map 函數(shù)。

# 使用list()函數(shù),來(lái)將返回的 map 轉(zhuǎn)換成 list 列表
In [12]: print(list(map(lambda a: a + 2, [5, 6, 7, 8, 9, 10])))
[7, 8, 9, 10, 11, 12]

# 示例: 字符串列表 轉(zhuǎn)為大寫字母
In [13]: directions = ["north", "east", "south", "west"]
    ...: def to_upper_case(s): return s.upper() # 單行函數(shù)
    ...: print(list(map(to_upper_case, directions))) # 單行map處理
['NORTH', 'EAST', 'SOUTH', 'WEST']

【備注】map(function, iterable, ...)

  • function - 針對(duì)每一個(gè)迭代調(diào)用的函數(shù)
  • iterable - 支持迭代的一個(gè)或者多個(gè)對(duì)象。在 Python 中大部分內(nèi)建對(duì)象,例如 lists, dictionaries, 和 tuples 都是可迭代的。

在 Python 3 中,map()返回一個(gè)與傳入可迭代對(duì)象大小一樣的 map 對(duì)象。
在 Python 2中,這個(gè)函數(shù)返回一個(gè)列表 list。

2.18. 刪除列表多個(gè)元素

使用 del 方法在一行代碼中刪除 List 中的多個(gè)元素,而無(wú)需進(jìn)行任何修改。當(dāng)然這里還有其他解決方式;

In [19]: mylist = [100, 200, 300, 400, 500]
    ...: del mylist[1::2] # 下表1開始刪除,步長(zhǎng)2,mylist[1::2] =》[200, 400]
    ...: print(mylist)
[100, 300, 500]

2.19. print 打印重復(fù)內(nèi)容

In [30]: print(':)' * 3)
    ...: print(':)' * 2)
    ...: print(':)' * 1)
:):):)
:):)
:)

2.20. 一行代碼就能查找某一范圍內(nèi)的質(zhì)數(shù)

如何編寫一行代碼來(lái)查找某一范圍內(nèi)的質(zhì)數(shù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-712612.html

In [31]: 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]

3. 最后

感謝您花時(shí)間閱讀文章
關(guān)注公眾號(hào)不迷路:)

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

本文來(lái)自互聯(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)
  • 非常有用的Linux網(wǎng)絡(luò)診斷命令:traceroute

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

    traceroute 是一個(gè)網(wǎng)絡(luò)診斷工具,用于檢測(cè)數(shù)據(jù)包從本機(jī)到目標(biāo)主機(jī)經(jīng)過(guò)的路由路徑。它可以幫助我們分析出網(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)
  • (實(shí)用)如何在vscode設(shè)置自己的代碼片段,提高開發(fā)效率

    (實(shí)用)如何在vscode設(shè)置自己的代碼片段,提高開發(fā)效率

    ?項(xiàng)目背景 很多時(shí)候,我們新建vue文件的時(shí),都需要把重復(fù)的代碼結(jié)構(gòu)重新輸入或者copy過(guò)來(lái),對(duì)開發(fā)效率照成影響。?? 可以通過(guò)鍵入 vue3 快速生成代碼片段 構(gòu)建效果 操作步驟 在vscode左下角,點(diǎn)擊設(shè)置按鈕,選擇新建 用戶代碼片段 : 也可以在 文件 / 首選項(xiàng) / 配置用

    2024年04月09日
    瀏覽(19)
  • python入門小游戲代碼20行,python小游戲代碼大全

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

    大家好,給大家分享一下python簡(jiǎn)單小游戲代碼20行,很多人還不知道這一點(diǎn)。下面詳細(xì)解釋一下?,F(xiàn)在讓我們來(lái)看看! 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ì)解釋一下?,F(xiàn)在讓我們來(lái)看看! 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)在讓我們一起來(lái)看看吧! Source code download: 本文相關(guān)源碼 大家好,小編來(lái)為大家解答以下問題,一些簡(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ì)通過(guò) 具體的系統(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)容都更新起來(lái)。 當(dāng)然也不會(huì)太淺了,所以我的開篇是單行注釋和多行注釋。 程序的注釋雖然為代碼的功能帶來(lái)不了什么實(shí)際的心功能變化,但為程序添加注釋可以用來(lái)解釋程序的某些部分的

    2024年01月21日
    瀏覽(25)
  • 20個(gè)Python random模塊的代碼示例

    本文分享自華為云社區(qū)《Python隨機(jī)數(shù)探秘:深入解析random模塊的神奇之處》,作者:檸檬味擁抱。 隨機(jī)數(shù)在計(jì)算機(jī)科學(xué)和數(shù)據(jù)科學(xué)領(lǐng)域中扮演著重要角色,Python的標(biāo)準(zhǔn)庫(kù)中提供了 random 模塊,用于生成各種隨機(jī)數(shù)。本篇博客將深入探討 random 模塊的各種函數(shù),以及它們的應(yīng)用

    2024年03月13日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包