31.三元表達式和生成式

三元表達式

條件成立的返回值 if 條件 else 條件不成立的返回值

使用三元表達式可以將代碼簡化
def func(x,y):
	if x > y:
		return x
	else:
		return y
使用三元表達式:  x if x > y else y

生成式

1.列表生成式

[i for i in iterable 條件]

eg:
生成一個包含1-10的列表:lst = [i for i in range(1,11)]
生成一個包含1-10中奇數的列表: lst = [i for i in range(1,11) if i % 2 != 0]

2.字典生成式

{k:v for k,v in iterable 條件}

eg:
lst = [("name","xx"),("age",18),("gender","male"),("hobby","play")]     將lst轉化爲字典,但是不要hobby
dic = {k:v for k,v in lst if k != "hobby"}

3.集合生成式

{i for i in iterable 條件}

eg:
生成1-10的集合:tup = {i for i in range(1,11)}

4.元組生成式

嚴格來說不算元組生成式,因爲得到的記過是一個迭代器,但是我們可以next()進行取值
tup = (i for i in range(10))
print(tup,type(tup))

ret1 = next(tup)
ret2 = next(tup)

結果如如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章