?使用函式來寫**
defmax2
(x,y)
:if x > y:
return x
else
:return y
res = max2(3,
4)print
(res)
# 4?使用三元表示式
x =3
y =4
res = x if x > y else y
print
(res(3,
4))# 4
?函式加三元表示式
defmax2
(x,y)
:return
"ok"
if x > y else
"no"
print
(max2(3,
4))# no
?使用 "for" 迴圈實現
l =[
]for i in
range(6
):print
(l)# [0, 1, 2, 3, 4, 5]
?生成式一行實現
l =[i for i in
range(6
)]print
(l)# [0, 1, 2, 3, 4, 5]
names =
["songhh"
,"shawnhh"
,"hai"
,"xing"
]?將"hh"結尾的放入乙個列表
l =[
len(i)
for i in names if i.endswith(
"hh")]
print
(l)# ['songhh', 'shawnhh']
?將其勸變為大寫
l =[i.upper(
)for i in names]
print
(l)# ['songhh', 'shawnshh', 'hai', 'xing']
?列印檔案中字元的最長長度
with
open
(r"a.txt"
,"rt"
,enconding=
"utf-8"
)as f:
nums =
[len
(i)for i in f]
print
(max
(nums)
)
?
res =
print
(res)# ?
info =
res =
print
(res)
#
sets =
print
(sets)
# print
(type
(sets)
)#
記憶體占用:
?製作乙個生成器
res =
(i for i in
range(6
))print
(res)
print
(next
(res)
)# 0
print
(next
(res)
)# 1
print
(next
(res)
)# 2
print
(next
(res)
)# 3
print
(next
(res)
)# 4
print
(next
(res)
)# 值取完丟擲異常 stopiteration
?列印檔案裡字元最長長度 (切換 "b" 模式比較位元組)
with
open
(r"a.txt"
,"rt"
,encoding=
"utf-8"
)as f:
res =
(len
(i)for i in f)
# 得到乙個生成器
print
(res)
# at 0x000001949ad7aac8>
print
(max
(res)
)
?統計檔案的字元個數 (切換 "b" 模式統計位元組)
with
open
(r"aaa.txt"
,"rt"
,encoding=
"tuf-8"
)as f:
lens =
0for i in f:
lens +=
len(i)
print
(lens)
?使用列表生成式 "[ ]" 配合 "sum( )" 函式
res =
sum(
[len
(i)for i in f]
)print
(res)
?使用生成器表示式 "( )" 配合 "sum( )" 函式
res =
sum(
(len
(i)for i in f)
)? "sum( )"會自動迭代取出生成器物件裡面的值進行相加, so 可以不用加兩層括號
res =
sum(
len(i)
for i in f)
print
(res)
三元表示式 列表生成式 生成器表示式
1三元表示式 三元表示式是python為我們提供的一種簡化 的解決方案,語法如下 res 條件成立時返回的值 if 條件 else 條件不成立時返回的值 針對以下場景 def max2 x,y if x y print x else print y max2 1,2 用三元表示式可以一行解決 x 1...
生成器 三元表示式, 推導式 表示式
一,生成器 1,生成器的本質就是迭代器 2,生成器的特點和迭代器一樣.取值方式和迭代器一樣 next send 給上乙個yield傳值 3,生成器一般由生成器函式或者生成器表示式來建立 4,其實就是手寫的迭代器 只要函式內部包含有yield關鍵字,那麼函式名 的到的結果就是生成器,並且不會執行函式內...
三元表示式 推導式和生成器表示式
三元表示式是python為我們提供的一種簡化簡單的流程控制的解決方案 而且在簡化 的基礎上,還不失 的可讀性 條件成立時返回的值 if 條件 else 條件不成立時返回的值 x if x y else y 如果x y就執行x,否則執行y需求 接收兩個數字,返回較大的那個數 不採用三元表示式 def ...