Python中的列表推導式是如何工作的?含代碼

Python中的列表推導式是如何工作的?

Python中的列表推導式是一種非常強大的編程技巧,可以方便地創建新的列表。愛掏網 - it200.com與傳統的for循環結構相比,它不僅代碼更簡潔,而且可讀性更高,使得代碼更加易于維護和理解。愛掏網 - it200.com

在Python中,列表推導式采用了類似于數學中集合的概念,所以我們可以使用列表推導式來生成任何需要的列表。愛掏網 - it200.com下面就一起來了解一下Python中的列表推導式是如何工作的!

先來看看Python中列表推導式的基礎語法吧:

new_list = [expression for item in iterable if condition]

其中,expression 是要生成新列表的表達式,item 是迭代的元素,iterable 是要進行迭代的對象,if 是條件語句(可選)。愛掏網 - it200.com

例如,假設有一個列表 old_list = [1, 2, 3, 4, 5],我們可以使用列表推導式生成一個新的列表,其中每個元素都是原列表中的元素的平方值:

new_list = [x**2 for x in old_list]
print(new_list) # [1, 4, 9, 16, 25]

這里 x**2 就是 expressionxitemold_listiterable愛掏網 - it200.com

當然,我們也可以添加條件語句來篩選出符合要求的元素:

new_list = [x**2 for x in old_list if x > 2]
print(new_list) # [9, 16, 25]

這里的條件語句就是 if x > 2愛掏網 - it200.com

多重循環

除了簡單的列表生成,Python中的列表推導式還支持多重循環。愛掏網 - it200.com多重循環主要是用于嵌套的數據結構中,例如多維數組或字典等。愛掏網 - it200.com

假設我們有兩個列表,分別代表班級1和班級2的每個學生的分數,我們可以使用列表推導式來計算每個班級的總分數:

scores1 = [80, 90, 70, 60, 85]
scores2 = [75, 95, 80, 65, 90]

total1 = sum([x for x in scores1])
total2 = sum([x for x in scores2])

print(total1) # 385
print(total2) # 405

上面的代碼中,我們使用了內置函數 sum() 來計算每個班級的總分數。愛掏網 - it200.com我們在 for 循環中使用了列表推導式,從而僅遍歷了每個分數列表一次。愛掏網 - it200.com

嵌套列表推導式

嵌套列表推導式是指在列表推導式中,向列表推導式添加更多循環和/或條件語句,以生成更復雜的列表。愛掏網 - it200.com

假設有一組數據,包含三個城市和這些城市的溫度范圍,我們可以使用嵌套列表推導式來生成新的列表,其中包含每個城市的列表以及相應的溫度范圍:

data = [('New York', (-1, 6)), ('Chicago', (-4, 2)), ('San Francisco', (10, 15))]

city_temps = [[city, str(temp_low)+'-'+str(temp_high)+'C'] for city, (temp_low, temp_high) in data]

print(city_temps)
'''
[
    ['New York', '-1-6C'], 
    ['Chicago', '-4-2C'], 
    ['San Francisco', '10-15C']
]
'''

在上述例子中,我們使用了元組解包將城市和溫度范圍分別提取到兩個變量中。愛掏網 - it200.com然后,我們使用嵌套的列表推導式來生成新的列表。愛掏網 - it200.com

生成器表達式

除了列表推導式外,Python還支持生成器表達式。愛掏網 - it200.com生成器表達式的語法與列表推導式基本相同,但是它返回的是一個生成器對象,而不是一個列表。愛掏網 - it200.com

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 一级国产黄色片| 91精品国产肉丝高跟在线| 扒开女同学下面粉粉嫩嫩| 久99久热只有精品国产男同| 国产欧美精品一区二区色综合 | 添bbb免费观看高清视频| 人妻无码一区二区视频| 欧美成人免费全部| 久久99国产综合精品| 国产成人精品影院狼色在线| 真正国产乱子伦高清对白 | www日本xxx| 免费无码成人片| 天天舔天天操天天干| 黄瓜视频官网下载免费版| 亚洲aⅴ在线无码播放毛片一线天 亚洲aⅴ在线无码播放毛片一线天 | 七次郎在线视频观看精品| 国产免费一区二区三区不卡| 日韩小视频网站| 韩国三级在线视频| 亚洲成人网在线| 巨大黑人极品videos中国| 精品69久久久久久99| 99在线精品视频在线观看| 国产动作大片中文字幕| 成年福利片120秒体验区| 进击的巨人第一季动漫樱花动漫| 亚洲国产综合精品中文第一区| 国产码欧美日韩高清综合一区| 日本特黄高清免费大片爽| 精品国产精品久久一区免费式| 久久久久亚洲精品美女| 午夜免费一级片| 国产色视频一区二区三区QQ号| 精品国产福利在线观看| 97久久天天综合色天天综合色| 亚州无吗黄瓜视频有直播的不| 国产精品久久久久免费a∨| 日本久久久免费高清| 香港伦理电影三级中文字幕| 一本一本久久aa综合精品|