六 三元表達式、列表推導式、生成器表達式
阿新 • • 發佈:2018-02-15
pan abc 一次 pri 聲明 優點 express 推導 next
一 三元表達式
二 列表推導式
三 生成器表達式
一 三元表達式
1 name=input(‘姓名>>: ‘) 2 res=‘abc‘ if name == ‘lucy‘ else ‘jack‘ 3 print(res)
二 列表推導式
#1、示例 egg_list=[] for i in range(10): egg_list.append(‘雞蛋%s‘ %i) egg_list=[‘雞蛋%s‘ %i for i in range(10)] #2、語法 [expression for item1 in iterable1 ifcondition1 for item2 in iterable2 if condition2 ... for itemN in iterableN if conditionN ] 類似於 res=[] for item1 in iterable1: if condition1: for item2 in iterable2: if condition2 ... for itemN in iterableN: if conditionN: res.append(expression)#3、優點:方便,改變了編程習慣,可稱之為聲明式編程
三 生成器表達式
1 #1、把列表推導式的[]換成()就是生成器表達式 2 3 #2、示例:生一筐雞蛋變成給你一只老母雞,用的時候就下蛋,這也是生成器的特性 4 >>> chicken=(‘雞蛋%s‘ %i for i in range(5)) 5 >>> chicken 6 <generator object <genexpr> at 0x10143f200> 7 >>> next(chicken) 8 ‘雞蛋0‘ 9>>> list(chicken) #因chicken可叠代,因而可以轉成列表 10 [‘雞蛋1‘, ‘雞蛋2‘, ‘雞蛋3‘, ‘雞蛋4‘,] 11 12 #3、優點:省內存,一次只產生一個值在內存中
六 三元表達式、列表推導式、生成器表達式