Python中的列表生成式

2021-09-16 13:46:59 字數 1686 閱讀 6666

前言

在python語言中,所謂列表生成式,就是說可以生成list列表的表示式,是python內建的一種強大的功能,有時候我們需要較複雜的函式來實現某個功能,而列表生成式可以很簡單的寫出來。今天我們主要來講一下列表生成式的應用案例。

案例一#將字串中的內容拆開,轉換成整型

#首先來看一下不使用列表生成式

s = '10,100,1000'

li =

for item in s.split(','):

g,s,b = li

print(g,s,b)

#使用列表生成式

s1 = '1000 100 10'

g,s,b =[int(item) for item in s1.split()]

print(g,s,b,)

案例二

生成乙個列表,列表元素分別為[12,22,32…n2]

li = 

for i in range(1,(int(input('n= '))+1)):

print(li)

使用列表生成式:

print([i**3 for i in range(1,(int(input('n= '))+1))])
執行結果:

n= 4

[1, 4, 9, 16]

n= 4

[1, 8, 27, 64]

案例三

求以十以內所有偶數為半徑的圓面積

import math

li =

for i in range(2,11,2):

squre = math.pi*i*i

print(li)

#使用列表生成式

print([math.pi*i*i for i in range(2,11,2)])

執行結果:

[12.566370614359172, 50.26548245743669, 113.09733552923255, 201.06192982974676, 314.1592653589793]

[12.566370614359172, 50.26548245743669, 113.09733552923255, 201.06192982974676, 314.1592653589793]

案例四

#找出1~num之間所有質數

def isnum(num):

for i in range(2,num):

if num%i == 0:

return false

else:

return true

print([ i for i in range(1,11) if isnum(i)])

案例五

執行結果:

10

2

python中列表生成式

今天看書發現乙個很好玩的函式 列表生成式 格式如下 function x for x in itr x 列表生成式的收尾是列表的方括號。它用到乙個可以迭代的物件 iter x 將 iter x 的每乙個值傳入func x 中,用返回值建立乙個新列表。eg data list 1,2,3,4,5 li...

python中的列表生成式

1.列表生成式 列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立列表的生成式.1.將字串s 51 5000 10000 賦值給多個變數 s 51 5000 10000 li for i in s.split k,a,b li print li pr...

python中的列表生成式

列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式 列表生成式也可以叫做列表解析 列表生成式的格式 expression for i in 序列 if 表示式 迴圈 條件 一般情況下迴圈太繁瑣,而列表生成式則可以用一行語句代替多行迴圈...