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

【Python】進(jìn)階學(xué)習(xí):列表推導(dǎo)式如何使用兩個(gè)for循環(huán)

這篇具有很好參考價(jià)值的文章主要介紹了【Python】進(jìn)階學(xué)習(xí):列表推導(dǎo)式如何使用兩個(gè)for循環(huán)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【Python】進(jìn)階學(xué)習(xí):列表推導(dǎo)式如何使用兩個(gè)for循環(huán)

【Python】進(jìn)階學(xué)習(xí):列表推導(dǎo)式如何使用兩個(gè)for循環(huán),# 【Python】入門篇,python,新手入門,學(xué)習(xí)

?? 個(gè)人主頁:高斯小哥
?? 高質(zhì)量專欄:Matplotlib之旅:零基礎(chǔ)精通數(shù)據(jù)可視化、Python基礎(chǔ)【高質(zhì)量合集】、PyTorch零基礎(chǔ)入門教程?? 希望得到您的訂閱和支持~
?? 創(chuàng)作高質(zhì)量博文(平均質(zhì)量分92+),分享更多關(guān)于深度學(xué)習(xí)、PyTorch、Python領(lǐng)域的優(yōu)質(zhì)內(nèi)容?。ㄏM玫侥年P(guān)注~)


??一、引言

??Python的列表推導(dǎo)式(List Comprehension)是一種強(qiáng)大而簡潔的工具,它可以用來創(chuàng)建列表。通常,我們可能只使用一個(gè)for循環(huán)來創(chuàng)建列表,但Python也允許我們在列表推導(dǎo)式中使用兩個(gè)或更多的for循環(huán)。本文將通過通俗易懂的方式,講解如何在列表推導(dǎo)式中使用兩個(gè)for循環(huán),并通過實(shí)例舉一反三,讓你看完受益良多。

??二、一個(gè)for循環(huán)的列表推導(dǎo)式

??在開始討論兩個(gè)for循環(huán)的列表推導(dǎo)式之前,我們先回顧一下一個(gè)for循環(huán)的列表推導(dǎo)式。其基本語法如下:

[expression for item in iterable]

這里的expression是對item的某種操作,item是從iterable(可迭代對象,如列表、元組、集合、字符串、字典等)中取出的每個(gè)元素。

舉個(gè)例子,假設(shè)我們有一個(gè)數(shù)字列表,想要生成一個(gè)新列表,其中的元素是原列表中每個(gè)數(shù)字的平方:

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)  # 輸出: [1, 4, 9, 16, 25]

??三、兩個(gè)for循環(huán)的列表推導(dǎo)式

現(xiàn)在,我們來看如何使用兩個(gè)for循環(huán)在列表推導(dǎo)式中。其基本語法如下:

[expression for item1 in iterable1 for item2 in iterable2]

這種結(jié)構(gòu)會(huì)首先遍歷iterable1中的每一個(gè)item1,然后對于每一個(gè)item1,它都會(huì)遍歷iterable2中的每一個(gè)item2expression則是對item1item2的某種操作。

假設(shè)我們有兩個(gè)列表,一個(gè)是顏色列表,另一個(gè)是大小列表。我們想要生成一個(gè)新的列表,其中的元素是每種顏色和大小的組合:

colors = ['red', 'green', 'blue']
sizes = ['small', 'medium', 'large']

# 使用兩個(gè)for循環(huán)的列表推導(dǎo)式
combinations = [(color, size) for color in colors for size in sizes]
print(combinations)  # 輸出: [('red', 'small'), ('red', 'medium'), ('red', 'large'), ('green', 'small'), ('green', 'medium'), ('green', 'large'), ('blue', 'small'), ('blue', 'medium'), ('blue', 'large')]

這個(gè)列表推導(dǎo)式會(huì)首先遍歷colors列表中的每個(gè)顏色,然后在內(nèi)部循環(huán)中遍歷sizes列表中的每個(gè)大小,生成一個(gè)元組(color, size),并添加到新列表中。

??四、列表推導(dǎo)式的嵌套循環(huán)與普通循環(huán)的對比

??為了更好地理解列表推導(dǎo)式中的嵌套循環(huán),我們可以將其與普通的嵌套循環(huán)進(jìn)行比較。以下是一個(gè)普通嵌套循環(huán)的例子,它實(shí)現(xiàn)了與上面列表推導(dǎo)式相同的功能:

colors = ['red', 'green', 'blue']
sizes = ['small', 'medium', 'large']

combinations_normal = []
for color in colors:
    for size in sizes:
        combinations_normal.append((color, size))

print(combinations_normal)  # 輸出與列表推導(dǎo)式相同

雖然這兩種方式都能達(dá)到同樣的效果,但列表推導(dǎo)式的語法更簡潔,更易于閱讀和理解。

??五、列表推導(dǎo)式中的條件表達(dá)式

??除了基本的操作外,我們還可以在列表推導(dǎo)式中加入條件表達(dá)式,進(jìn)一步篩選結(jié)果。條件表達(dá)式使用if關(guān)鍵字,并放在for循環(huán)之后。

假設(shè)我們只想獲取大小為’medium’的顏色組合:

colors = ['red', 'green', 'blue']
sizes = ['small', 'medium', 'large']

medium_combinations = [(color, size) for color in colors for size in sizes if size == 'medium']
print(medium_combinations)  # 輸出: [('red', 'medium'), ('green', 'medium'), ('blue', 'medium')]

這里,if size == 'medium'是一個(gè)條件表達(dá)式,它確保只有當(dāng)size為’medium’時(shí),對應(yīng)的(color, size)元組才會(huì)被添加到新列表中。

??六、舉一反三:更多應(yīng)用場景

??列表推導(dǎo)式不僅限于生成元組列表,它還可以用來生成任何類型的列表,包括數(shù)字列表、字符串列表、字典列表等。下面再舉幾個(gè)例子:

生成字典列表

keys = ['a', 'b', 'c']
values = [1, 2, 3]

# 使用zip函數(shù)和列表推導(dǎo)式生成字典列表
dict_list = [{k: v} for k, v in zip(keys, values)]
print(dict_list)  # 輸出: [{'a': 1}, {'b': 2}, {'c': 3}]

生成字符串列表

words = ['hello', 'world', 'python']

# 將每個(gè)單詞轉(zhuǎn)換為大寫,并生成字符串列表
uppercase_words = [word.upper() for word in words]
print(uppercase_words)  # 輸出: ['HELLO', 'WORLD', 'PYTHON']

生成列表的列表(二維列表)

rows = 3
cols = 4

# 生成一個(gè)3x4的二維列表,初始值都是0
matrix = [[0 for _ in range(cols)] for _ in range(rows)]
print(matrix)  # 輸出: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

使用列表推導(dǎo)式進(jìn)行數(shù)值計(jì)算

numbers = [1, 2, 3, 4, 5]

# 計(jì)算列表中每個(gè)數(shù)字的平方根(使用math庫)
import math
square_roots = [math.sqrt(num) for num in numbers]
print(square_roots)  # 輸出: [1.0, 1.4142135623730951, 1.7320508075688772, 2.0, 2.23606797749979]

??七、總結(jié)與收獲

??通過本文的學(xué)習(xí),我們掌握了如何在Python的列表推導(dǎo)式中使用兩個(gè)for循環(huán),并通過實(shí)例展示了其強(qiáng)大的功能和靈活性。列表推導(dǎo)式不僅使代碼更加簡潔易讀,而且提高了編程效率。通過舉一反三的方式,我們還探索了列表推導(dǎo)式在更多應(yīng)用場景中的使用,如生成字典列表、字符串列表、二維列表以及進(jìn)行數(shù)值計(jì)算等。

??在使用列表推導(dǎo)式時(shí),要注意保持代碼的清晰和可讀性,避免過度嵌套和復(fù)雜的表達(dá)式。同時(shí),也要善于利用條件表達(dá)式對結(jié)果進(jìn)行篩選,以得到更符合需求的結(jié)果。

??希望本文對你有所啟發(fā),讓你在Python編程的道路上更進(jìn)一步。通過不斷實(shí)踐和探索,你可以發(fā)現(xiàn)更多列表推導(dǎo)式的妙用,并將其應(yīng)用于實(shí)際項(xiàng)目中,提升編程效率和代碼質(zhì)量。文章來源地址http://www.zghlxwxcb.cn/news/detail-840878.html

到了這里,關(guān)于【Python】進(jìn)階學(xué)習(xí):列表推導(dǎo)式如何使用兩個(gè)for循環(huán)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 90. Python列表推導(dǎo)式

    1.1 append函數(shù)知識回顧 29.append函數(shù)向列表添加元素 append [??pend]增加,附加。 【語法】 列表名.append(要增加的元素) 【代碼示例】 【終端輸出】 1.2 range函數(shù)知識回顧 42. range函數(shù)—生成器函數(shù) range[re?nd?]:按一定的次數(shù)排列。 【語法】 range (開始字符,結(jié)束字符,步長) 【參數(shù)說

    2024年02月07日
    瀏覽(24)
  • Python列表推導(dǎo)

    目錄 列表推導(dǎo)式 表達(dá)式是元組(例如上例的?(x,?y))時(shí),必須加上括號: 列表推導(dǎo)式可以使用復(fù)雜的表達(dá)式和嵌套函數(shù): 嵌套的列表推導(dǎo)式 實(shí)際應(yīng)用中,最好用內(nèi)置函數(shù)替代復(fù)雜的流程語句。此時(shí),zip()?函數(shù)更好用: 使用Python列表推到創(chuàng)建數(shù)據(jù)pytest驅(qū)動(dòng)數(shù)據(jù) 列表推導(dǎo)式

    2024年02月07日
    瀏覽(14)
  • Python 中的列表推導(dǎo)式

    列表推導(dǎo)式是一種 Python 構(gòu)造,可減少生成新列表或過濾現(xiàn)有列表所需的代碼行。列表推導(dǎo)式包含在方括號內(nèi),它由一個(gè)表達(dá)式、一個(gè)或多個(gè) for 循環(huán)和一個(gè)用于過濾生成的列表的可選條件組成。 列表推導(dǎo)式使用以下語法: 翻譯翻譯就是: 最原始的1到10 乘個(gè)2 只要偶數(shù) 來個(gè)

    2024年02月06日
    瀏覽(19)
  • Python——列表(list)推導(dǎo)式

    Python——列表(list)推導(dǎo)式

    本文基于python3。 你可以理解成一種數(shù)據(jù)的處理方式。目的是為了構(gòu)建一個(gè)新的數(shù)據(jù)序列。 Python 支持各種數(shù)據(jù)結(jié)構(gòu)的推導(dǎo)式: 列表(list)推導(dǎo)式 字典(dict)推導(dǎo)式 集合(set)推導(dǎo)式 元組(tuple)推導(dǎo)式 各自從字面意思就知道,創(chuàng)建一個(gè)列表、字典、集合、元組。 我們本文只看列表

    2024年02月11日
    瀏覽(16)
  • 【Python】列表 List ⑦ ( 列表遍歷 | 使用 while 循環(huán)遍歷列表 | 使用 for 循環(huán)遍歷列表 | while 循環(huán) 與 for 循環(huán)對比 )

    將 列表 容器 中的數(shù)據(jù)元素 , 依次逐個(gè)取出進(jìn)行處理的操作 , 稱為 列表的遍歷 ; 使用 while 循環(huán) 遍歷 列表容器 : 元素訪問方式 : 使用 下標(biāo)索引 訪問 列表中的元素 ; 循環(huán)控制 : 循環(huán)控制變量 : 用于指示當(dāng)前循環(huán)的 下標(biāo)索引 ; 循環(huán)條件 : 設(shè)置為 循環(huán)控制變量 ( 下標(biāo)索引 ) 列表

    2024年02月06日
    瀏覽(35)
  • Python小姿勢 - Python中的列表推導(dǎo)式

    Python小姿勢 - Python中的列表推導(dǎo)式

    Python中的列表推導(dǎo)式 Python中的列表推導(dǎo)式是一種很好的創(chuàng)建列表的方式。它允許你將一個(gè)操作應(yīng)用于列表中的每個(gè)元素,并將結(jié)果放入一個(gè)新的列表中。 例如,假設(shè)你有一個(gè)包含數(shù)字的列表,但是你想將每個(gè)數(shù)字都乘以2,并將結(jié)果放入一個(gè)新的列表中。你可以使用以下代碼

    2024年02月04日
    瀏覽(24)
  • Python 程序設(shè)計(jì)入門(008)—— 列表的操作(3):列表推導(dǎo)式

    使用列表推導(dǎo)式可以快速生成一個(gè)列表?;蛘吒鶕?jù)某個(gè)列表生成滿足指定需求的列表。列表推導(dǎo)式包含在方括號內(nèi),它由一個(gè)表達(dá)式、一個(gè)或多個(gè) for 循環(huán)和一個(gè)用于過濾生成的列表的可選條件組成。 列表推導(dǎo)式的語法格式如下: 說明: (1)Expressinon:表達(dá)式,用于計(jì)算列

    2024年02月14日
    瀏覽(23)
  • Python列表差異值統(tǒng)計(jì):集合操作、列表推導(dǎo)式、對稱差集詳解

    Python列表差異值統(tǒng)計(jì):集合操作、列表推導(dǎo)式、對稱差集詳解

    ? 在Python中,統(tǒng)計(jì)兩個(gè)列表的差異值有多種方法,其中包括使用集合操作、列表推導(dǎo)式等。下面我將通過實(shí)例詳細(xì)講解幾種常見的方法,并提供相應(yīng)的實(shí)例源代碼。 這些方法各有優(yōu)缺點(diǎn),選擇使用哪一種取決于你的具體需求和性能考慮。方法一和方法三使用了集合操作,可能

    2024年02月01日
    瀏覽(19)
  • python經(jīng)典有序序列的list列表推導(dǎo)式

    生成一個(gè)數(shù)據(jù)列表 使用列表推導(dǎo)式生成該數(shù)據(jù)列表 分析: 1、使用一行代碼的列表推導(dǎo)式就完成了該列表的生成 2、[i for i in range(20)],第一個(gè)i元素代表向列表list_2中添加的元素 3、[i for i in range(20)],第二個(gè)i元素代表for循環(huán)遍歷的i元素 使用列表推導(dǎo)式生成只有偶數(shù)的數(shù)據(jù)列

    2024年02月02日
    瀏覽(23)
  • Python 列表推導(dǎo)式:簡潔、高效的數(shù)據(jù)操作藝術(shù)

    Python 的列表推導(dǎo)式,這個(gè)看似簡單的語法糖,實(shí)則內(nèi)含無限威力。在 Python 代碼編寫中,列表推導(dǎo)式的靈活性和簡潔性讓它成為了不可或缺的一部分。在這篇文章中,我們將更全面、更深入地探討列表推導(dǎo)式,從基礎(chǔ)的概念認(rèn)識,到各類進(jìn)階的用法和操作,我們一一揭秘。最

    2024年02月08日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包