python中的列表生成式

2021-09-02 15:34:43 字數 3200 閱讀 9203

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)

print(k,a,b)

上圖為未學習列表生成式之前的做法

看一下列表生成式的做法

s = '51 5000 10000'

li = [int(i) for i in s.split()]

k,a,b = li

print(li)

print(k,a,b)

兩者的輸出都為

通過幾個例項來更好的認識列表表示式

2.生成乙個列表,列表元素分別為[1 * * 1,2 * * 2,3 * * 3,4 * * 4…n * * n]

print([i ** i for i in range(1, 5)])
其輸出如下:

3.找出1~10之間的所有的偶數

4.將s1=『abc』 s2=『123』輸出為』a1』, 『a2』, 『a3』, 『b1』, 『b2』, 『b3』, 『c1』, 『c2』, 'c3』的列表

這裡用到了for巢狀迴圈

print([i + j for i in 'abc' for j in '123'])
其輸出如下:

for巢狀迴圈練習

需求:將3x3的矩陣轉換成一堆陣列

[[1,2,3],

[4,5,6],

[7,8,9]

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

li = [

[1,2,3],

[4,5,6],

[7,8,9]

]print([i for item in li for i in item ])

列表生成式的練案例

1.將列表中所有內容都變成小寫

li = ['sjzqawsed','zjsaqsqdq']

print([i.lower() for i in li])

輸出結果如下:

2.找出/var/log目錄中,所有以.log結尾的檔名或者目錄名

import os

print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])

輸出結果如下:

列表生成式的練習

1.找出1~10之間所有偶數, 並且返回乙個列表,(包含以這個偶數為半徑的圓的面積)

import math

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

輸出結果如下:

找出1~100之間所有的質數.

"""

判斷num是否為質數,如果是質數,返回true,否則返回false

什麼是質數?

只能被1和本身整除的數,就是質數

方法:依次判斷num能被(2,num)整除

如果能被其中其中乙個數整除,不是質數

當迴圈結束,都沒有發現能被整除的數,那麼就是質數

"""def isprime(num):

for i in range(2,num):

if num % i == 0:

return false

else:

return true

print([i for i in range(2,101) if isprime(i)])

輸出結果如下:

3.- 題目描述:

給定乙個正整數,編寫程式計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸

入值小於1000。

如,輸入為10, 程式應該輸出結果為2。(共有兩對質數的和為10,分別為(5,5),(3,7)) [2,3,5,7]

輸入:10

輸出:2

num = int(input('輸入乙個小於1000的數:'))

def isprime(num):

for i in range(2, num):

if num % i == 0:

return false

else:

return true

li = [i for i in range(2, 1000) if isprime(i)]

count = 0

for item in li:

if (num - item) in li and item <= num - item:

count += 1

print(count)

輸出結果如下:

python中列表生成式

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

Python中的列表生成式

前言 在python語言中,所謂列表生成式,就是說可以生成list列表的表示式,是python內建的一種強大的功能,有時候我們需要較複雜的函式來實現某個功能,而列表生成式可以很簡單的寫出來。今天我們主要來講一下列表生成式的應用案例。案例一 將字串中的內容拆開,轉換成整型 首先來看一下不使用列表生成式...

python中的列表生成式

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