濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式示例詳解

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

熱門標(biāo)簽:廣東旅游地圖標(biāo)注 蘇州人工外呼系統(tǒng)軟件 看懂地圖標(biāo)注方法 打印谷歌地圖標(biāo)注 電話機(jī)器人貸款詐騙 淮安呼叫中心外呼系統(tǒng)如何 京華圖書館地圖標(biāo)注 佛山通用400電話申請(qǐng) 電話外呼系統(tǒng)招商代理

前言

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

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

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

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

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),對(duì)于每一個(gè)x,代入x*x中進(jìn)行運(yùn)算,將結(jié)果逐一添加到一個(gè)新列表內(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)實(shí)現(xiàn)較為復(fù)雜邏輯的生成列表的方法。其核心語(yǔ)法是用中括號(hào)[]將生成邏輯封裝起來(lái)。

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

增加條件語(yǔ)句

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的寫法,中間的冒號(hào),表示左邊的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)式?

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

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

要通過(guò)類似方法生成元組,需要顯式調(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簡(jiǎn)潔優(yōu)雅的推導(dǎo)式的文章就介紹到這了,更多相關(guān)Python推導(dǎo)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python中的推導(dǎo)式使用詳解
  • Python列表推導(dǎo)式的使用方法
  • 基于Python列表解析(列表推導(dǎo)式)
  • python 列表推導(dǎo)式使用詳解
  • Python推導(dǎo)式簡(jiǎn)單示例【列表推導(dǎo)式、字典推導(dǎo)式與集合推導(dǎo)式】
  • python之列表推導(dǎo)式的用法
  • Python學(xué)習(xí)筆記之列表推導(dǎo)式實(shí)例分析
  • Python列表推導(dǎo)式與生成器表達(dá)式用法示例
  • Python列表推導(dǎo)式與生成器用法分析
  • python列表推導(dǎo)式入門學(xué)習(xí)解析

標(biāo)簽:股票 呼和浩特 江蘇 畢節(jié) 衡水 湖州 駐馬店 中山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式示例詳解》,本文關(guān)鍵詞  Python,簡(jiǎn)潔,優(yōu)雅,的,推導(dǎo),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式示例詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    怀仁县| 阆中市| 石景山区| 汶上县| 宣威市| 金坛市| 金平| 江川县| 通城县| 比如县| 潜江市| 和顺县| 崇义县| 武威市| 邳州市| 奇台县| 根河市| 汶上县| 南华县| 白朗县| 德保县| 右玉县| 宜兴市| 武强县| 新野县| 台北市| 攀枝花市| 沾益县| 临湘市| 江川县| 柳河县| 从化市| 东安县| 井冈山市| 安庆市| 通化市| 奉节县| 大余县| 盈江县| 济源市| 河北省|