欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python簡潔優(yōu)雅的推導(dǎo)式示例詳解

 更新時間:2021年04月14日 11:27:55   作者:曾親桂林  
這篇文章主要給大家介紹了關(guān)于Python簡潔優(yōu)雅的推導(dǎo)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

推導(dǎo)式是從一個或者多個迭代器快速創(chuàng)建序列的一種方法。它可以將循環(huán)和條件判斷結(jié)合,從而避免冗長的代碼。推導(dǎo)式是典型的 Python 風(fēng)格

Python語言有一種獨特的推導(dǎo)式語法,相當(dāng)于語法糖的存在,可以幫助你在某些場合寫出較為精簡酷炫的代碼。但沒有它,也不會有太多影響。Python語言有幾種不同類型的推導(dǎo)式。

1. 列表推導(dǎo)式

列表推導(dǎo)式是一種快速生成列表的方式。其形式是用方括號括起來的一段語句,如下例子所示:

lis = [x * x for x in range(1, 10)]
 
print(lis)

輸出

[1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推導(dǎo)式要這么理解,首先執(zhí)行for循環(huán),對于每一個x,代入x*x中進行運算,將結(jié)果逐一添加到一個新列表內(nèi),循環(huán)結(jié)束,得到最終列表。它相當(dāng)于下面的代碼:

lis = []
for i in range(1, 10):
    lis.append(i*i)
    
print(lis)

輸出

[1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推導(dǎo)式為我們提供了一種在一行內(nèi)實現(xiàn)較為復(fù)雜邏輯的生成列表的方法。其核心語法是用中括號[]將生成邏輯封裝起來。

列表推導(dǎo)式有多重用法:

增加條件語句

lis = [x * x for x in range(1, 11) if x % 2 == 0]

輸出

[4, 16, 36, 64, 100]

多重循環(huán)

lis = [a + b for a in '123' for b in 'abc']

輸出

['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']

更多用法

dic = {"name": "mumu", "age": "18"}
a = [k+":"+v for k, v in dic.items()]
print(a) # ['name:mumu', 'age:18']

2. 字典推導(dǎo)式

dic = {x: x**2 for x in (2, 4, 6)}
print(dic)
 
print(type(dic))

注意:x: x**2的寫法,中間的冒號,表示左邊的key右邊的value。

輸出:

{2: 4, 4: 16, 6: 36}
<class 'dict'>

3. 集合推導(dǎo)式

a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)
 
print(type(a))

輸出:

{'r', 'd'}
<class 'set'>

4. 元組推導(dǎo)式?

沒有元組推導(dǎo)式。

tup = (x for x in range(9))
print(tup)
print(type(tup))
<generator object <genexpr> at 0x0000013DB865AA40>
<class 'generator'>

要通過類似方法生成元組,需要顯式調(diào)用元組的類型轉(zhuǎn)換函數(shù)tuple(),如下所示:

tup = tuple(x for x in range(9))
print(tup)
print(type(tup))

輸出:

(0, 1, 2, 3, 4, 5, 6, 7, 8)
<class 'tuple'>

總結(jié)

到此這篇關(guān)于Python簡潔優(yōu)雅的推導(dǎo)式的文章就介紹到這了,更多相關(guān)Python推導(dǎo)式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python執(zhí)行dos和Linux命令的方法詳解

    Python執(zhí)行dos和Linux命令的方法詳解

    在實際開發(fā)中,有時為了方便,可能需要執(zhí)行dos命令或者Linux命令。比如說執(zhí)行某些shell腳本,上傳下載一些文件等。本文總結(jié)了一些Python執(zhí)行dos和Linux命令的方法,需要的可以了解一下
    2022-10-10
  • 五分鐘帶你搞懂python 迭代器與生成器

    五分鐘帶你搞懂python 迭代器與生成器

    這篇文章主要介紹了python 迭代器與生成器的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python3.8.3安裝教程及環(huán)境配置的詳細(xì)教程(64-bit)

    python3.8.3安裝教程及環(huán)境配置的詳細(xì)教程(64-bit)

    這篇文章主要介紹了python3.8.3安裝教程及環(huán)境配置的詳細(xì)教程(64-bit),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • python將二維數(shù)組升為一維數(shù)組或二維降為一維方法實例

    python將二維數(shù)組升為一維數(shù)組或二維降為一維方法實例

    在實際應(yīng)用的過程中,遇到列表或是數(shù)組的維數(shù)不同,需要變換的問題,如二維列表/數(shù)組變成了一維列表/數(shù)組,下面這篇文章主要給大家介紹了關(guān)于python將二維數(shù)組升為一維數(shù)組或二維降為一維的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Python Tkinter 簡單登錄界面的實現(xiàn)

    Python Tkinter 簡單登錄界面的實現(xiàn)

    今天小編就為大家分享一篇Python Tkinter 簡單登錄界面的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python基礎(chǔ)之time庫詳解

    Python基礎(chǔ)之time庫詳解

    這篇文章主要介紹了Python基礎(chǔ)之time庫詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python實現(xiàn)提取Word文檔中的文本和圖片

    Python實現(xiàn)提取Word文檔中的文本和圖片

    將內(nèi)容從?Word?文檔中提取出來可以方便我們對其進行其他操作,如將內(nèi)容儲存在數(shù)據(jù)庫中,本文將介紹如何使用簡單的代碼實現(xiàn)從?Word?文檔中提取文本和圖片內(nèi)容并保存,需要的可以參考下
    2023-12-12
  • Python入門基礎(chǔ)之?dāng)?shù)字字符串與列表

    Python入門基礎(chǔ)之?dāng)?shù)字字符串與列表

    這篇文章主要給大家介紹了關(guān)于Python入門基礎(chǔ)之?dāng)?shù)字字符串與列表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Django基礎(chǔ)知識與基本應(yīng)用入門教程

    Django基礎(chǔ)知識與基本應(yīng)用入門教程

    這篇文章主要介紹了Django基礎(chǔ)知識與基本應(yīng)用,結(jié)合實例形式分析了Django框架基本的項目創(chuàng)建、啟動、查看版本等操作,并結(jié)合一個簡單的blog應(yīng)用示例分析了Django的基本使用方法,需要的朋友可以參考下
    2018-07-07
  • Python中打包和解包(*和**)的使用詳解

    Python中打包和解包(*和**)的使用詳解

    *和**在函數(shù)的定義和調(diào)用階段,有著不同的功能,并且,*和**不能離開函數(shù)使用,這篇文章主要介紹了Python中打包和解包(*和**)的使用詳解,需要的朋友可以參考下
    2022-08-08

最新評論