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 表示式 迴圈 條件 一般情況下迴圈太繁瑣,而列表生成式則可以用一行語句代替多行迴圈...