experssion(或者函式) ------ for item1 in 序列 if 判斷語句
--------------------------------------for item2 in 序列 if 判斷語句
-------------------------------------for item3 in 序列 if 判斷語句
案例1:
生成乙個列表, 列表元素分別為[…n**n]
print([i**i for i in range(1,8)])
案例2:找出1~10之間所有奇數, 並且返回乙個列表, (所有的奇數轉換為字串)
print([str(i) for i in range(1,11,2)])
案例3:找出1~100之間所有奇數, 並且返回乙個列表,(如果能被3整除, 返回該數的平方, 否則返回該數的三次方)
print([i**2 if i%3==0 else i**3 for i in range(1,101,2)])
案例4:給定乙個列表li = [2,3,4,5,6,3,1,4,5](如果是偶數返回0, 如果是奇數返回1)
li=[2,3,4,5,6,1,4,5]
print([0 if i%2==0 else 1 for i in li ])
案例5:找出1~100之間所有的質數
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)])
li=[
[1,2,3],
[2,3,4],
[4,5,6]
]resli=
for item1 in li:
for item2 in item1:
print(resli)
li=[
[1,2,3,4],
[2,3,4,5],
[4,5,6,6]
]print([[row[i] for row in li] for i in range(4)])
2.內建函式zip
*li: 解包zip:1).打包函式, 用於將可迭代的物件作為引數, 將物件中對應的元素打包成乙個個元組, 然後返回由這些元組組成的列表。
2).如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同, 利用 * 號操作符,可以將元組解壓為列表
3). zip 方法在 python 2 和 python 3 中的不同: 在 python 3.x 中為了減少記憶體,zip( ) 返回的是乙個物件。
[ key:values for item1 in 序列 if 判斷語句
for item2 in 序列 if 判斷語句
for item3 in 序列 if 判斷語句 ]
案例1:假設有20個學生,學生分數在60-100之間,篩選出成績在90分以上的學生
import random
# stuinfo={}
# for i in range(20):
#第一種寫法
# name='westos'+str(i)
# score=random.randint(60,100)
# stuinfo[name]=score
#第二種寫法
#stuinfo['westos'+str(i)]=random.randint(60,100)
#最快捷簡便的方法
stuinfo= #字典生成式
print(stuinfo)
#篩選出高於90的人
#第一種寫法
# highscore={}
# for name,score in stuinfo.items():
# if score>90:
# highscore[name]=score
# print(highscore)
#第二種寫法
print()
print()
print()
d=
print()
同列表一樣,只是將[ ]變為了
也同字典相同,只不過傳的是乙個引數
s=
#集合生成式
print()
#字典生成式
print()
from collections import iterable
li=['westos',8,'hello','python']
for i in li:
print(i)
print(isinstance(li,iterable)) #判斷是否可以for迴圈
Python列表生成式 集合生成式 字典生成式練習
列表生成式 1 生成乙個列表,列表元素分別為 12,22,32,n2 2 找出1 10之間的所有偶數,並返回乙個列表 包含以這個偶數為半徑的圓的面積 3 找出1 100之間所有的質數 def isprime num for i in range 2,num if num i 0 return fal...
python生成式 列表 字典 集合
python的3類生成式 列表生成式 字典生成式 集合生成式 1 python列表生成式 my data 1,2,3 4,5,6 7,8,9 print my data s my data rows to keep row for row in my data if row 2 5 print ro...
python列表 元組 字典 集合
列表list 用 表示,list是一種有序的集合,可以隨時新增和刪除其中的元素。元組tuple 用 表示,和列表類似,元組也是一種有序列表,雖然tuple和list非常之類似,但是list初始化之後使可以改變的,但是,元組一旦初始化之後就不可以改變。這點與python中的字串類似,所以我們說元組和字...