日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
python列表推導(dǎo)

Python 中的列表推導(dǎo)是一種簡(jiǎn)單而緊湊的語(yǔ)法,用于從字符串或其他列表創(chuàng)建列表。 通過(guò)對(duì)現(xiàn)有列表中的每個(gè)項(xiàng)目執(zhí)行操作來(lái)創(chuàng)建新列表是一種非常簡(jiǎn)潔的方法。 列表推導(dǎo)比使用 for循環(huán)處理列表要快得多。

作為一家“創(chuàng)意+整合+營(yíng)銷(xiāo)”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶(hù)口碑。成都創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開(kāi)發(fā)以及后續(xù)網(wǎng)站營(yíng)銷(xiāo)運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷(xiāo)方法,創(chuàng)造更大的價(jià)值。

List Comprehension Syntax:

[expression for element in iterable if condition]

按照上面的語(yǔ)法,列表推導(dǎo)語(yǔ)法包含三個(gè)部分:一個(gè)表達(dá)式,一個(gè)或多個(gè)用于循環(huán)的,以及可選的一個(gè)或多個(gè) if 條件。 列表推導(dǎo)必須在方括號(hào)[]內(nèi)。 第一個(gè)表達(dá)式的結(jié)果將存儲(chǔ)在新列表中。for循環(huán)用于迭代可選地包含 if 條件的可迭代對(duì)象。

假設(shè)我們想找到從 0 到 20 的偶數(shù),那么我們可以用一個(gè)來(lái)循環(huán),如下所示:

Example: Create List of Even Numbers without List Comprehension

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums) 

Output

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 

使用下面顯示的列表推導(dǎo)技術(shù)可以很容易地獲得相同的結(jié)果。

Example: Create List of Even Numbers with List Comprehension

even_nums = [x for x in range(21) if x%2 == 0]
print(even_nums) 

Output

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 

在上例中,[x for x in range(21) if x%2 == 0]使用列表推導(dǎo)返回一個(gè)新列表。 首先,它執(zhí)行 for循環(huán)for x in range(21) if x%2 == 0。如果指定條件if x%2 == 0評(píng)估為真,將返回元素x。 如果條件評(píng)估為真,那么 for循環(huán)之前的表達(dá)式將被執(zhí)行并存儲(chǔ)在新列表中。在這里,表達(dá)式x只是將x的值存儲(chǔ)到一個(gè)新的列表中。

列表推導(dǎo)也適用于字符串列表。下面創(chuàng)建一個(gè)包含“a”的新字符串列表。

Example: List Comprehension with String List

names = ['Steve', 'Bill', 'Ram', 'Mohan', 'Abdul']
names2 = [s for s in names if 'a' in s]
print(names2) 

Output

['Ram', 'Mohan'] 

上圖中,如果一個(gè)元素包含字符“a”,表達(dá)式if 'a' in s返回真。因此,新列表將包括包含“a”的名稱(chēng)。

以下示例使用列表推導(dǎo)來(lái)構(gòu)建 1 到 10 之間的數(shù)字的正方形列表。

Example: List Comprehension

squares = [x*x for x in range(11)] 
print(squares) 

Output

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

上圖,在沒(méi)有任何 if 條件的情況下執(zhí)行 for循環(huán)for x in range(11)。for循環(huán)之前的表達(dá)式x*x存儲(chǔ)新列表中元素的平方。

使用嵌套循環(huán)的列表推導(dǎo)

列表推導(dǎo)表達(dá)式中可以使用嵌套循環(huán)。在下面的示例中,來(lái)自?xún)蓚€(gè)列表的元組形式的所有項(xiàng)目組合都被添加到第三個(gè)列表對(duì)象中。

Example: List Comprehension

nums1 = [1, 2, 3]
nums2 = [4, 5, 6]
nums=[(x,y) for x in nums1 for y in nums2]
print(nums) 

Output

[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)] 

具有多個(gè) if 條件的列表推導(dǎo)

我們可以用嵌套的 if 條件來(lái)理解列表。

Example: List Comprehension

nums = [x for x in range(21) if x%2==0 if x%5==0] 
print(nums) 

Output

[0, 10, 20] 

if-else條件列出理解

以下示例演示了 if..else 用列表推導(dǎo)循環(huán)。

Example: List Comprehension

odd_even_list = ["Even" if i%2==0 else "Odd" for i in range(5)]
print(odd_even_list)
odd_even_list = [str(i) + '=Even' if i%2==0 else str(i) + "=Odd" for i in range(5)]
print(odd_even_list) 

Output

['Even', 'Odd', 'Even', 'Odd', 'Even']
['0=Even', '1=Odd', '2=Even', '3=Odd', '4=Even'] 

使用列表推導(dǎo)展平列表

列表推導(dǎo)的應(yīng)用之一是將包含多個(gè)列表的列表展平為單個(gè)列表。

Example: List Comprehension

matrix=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flatList=[num for row in matrix for num in row]
print(flatList) 

Output

[1, 2, 3, 4, 5, 6, 7, 8, 9] 

了解更多關(guān)于如何在 Python 中展平列表。****


分享題目:python列表推導(dǎo)
轉(zhuǎn)載來(lái)于:http://www.5511xx.com/article/coscjop.html