1 三元表示式
2 列表推導式和生成器表示式
def my_max(x,y): #low的寫法
if x >=y:
return
x
else
:
return
yx=10y=20res=x if x >= y else y #
三元表示式
(res)
name=input('
>>:
').strip()
res='sb'
if name == '
alex
'else'nb
'#三元表示式
print(res)
1、列表推導式,用
#第一種 列表推導式
l=['
egg'+str(i) for i in range(1,11)]
(l)#l=#
for i in range(1,11):
#res='egg'+str(i)##
print(l)
#第二種 列表推導式
l1=['
egg'+str(i) for i in range(1,11) if i >= 6]
(l1)
#l1=
#for i in range(1,11):
#if i >= 6:
#
2、語法:
#語法[expression for item1 in iterable1 if
condition1
for item2 in iterable2 if
condition2
...for itemn in iterablen if
conditionn
]類似於
res=
for item1 in
iterable1:
ifcondition1:
for item2 in
iterable2:
ifcondition2
...for itemn in
iterablen:
ifconditionn:
把列表推導式的換成()就是生成器表示式
優點:省記憶體,一次只產生乙個值在記憶體中
g=('egg'+str(i) for i in range(0,100000000000000000000000)) #
生成器表示式
(g)print
(next(g))
(next(g))
print(next(g))
names=['egon
','alex_sb
','wupeiqi
','yuanhao']
names=[name.upper() for name in names] #
列表內容都大寫
(names)
sbs=[name for name in names if name.endswith('
sb')] #
篩選以sb結尾的名字
(sbs)
print(max([1,2,3,4,5])) #
max的引數可以是可迭代器的物件
g=(i for i in range(10))
print(max(g)) #
max的引數可以是生成器
with open(
'a.txt
','r
',encoding='
utf-8
') as f:
print(sum(len(line) for line in f)) #
檔案的長度
三元表示式 列表推導式 生成器表示式
一 三元表示式 def max2 x,y if x y return x else return y res 條件成立時執行的表示式 if 條件 else 條件不成立時執行的表示式 x 11 y 22 res x 12 if x y else y 100 print res 二 列表推導式 1 示例...
三元表示式 推導式和生成器表示式
三元表示式是python為我們提供的一種簡化簡單的流程控制的解決方案 而且在簡化 的基礎上,還不失 的可讀性 條件成立時返回的值 if 條件 else 條件不成立時返回的值 x if x y else y 如果x y就執行x,否則執行y需求 接收兩個數字,返回較大的那個數 不採用三元表示式 def ...
生成器 三元表示式, 推導式 表示式
一,生成器 1,生成器的本質就是迭代器 2,生成器的特點和迭代器一樣.取值方式和迭代器一樣 next send 給上乙個yield傳值 3,生成器一般由生成器函式或者生成器表示式來建立 4,其實就是手寫的迭代器 只要函式內部包含有yield關鍵字,那麼函式名 的到的結果就是生成器,並且不會執行函式內...