迭代器
指定資料建立迭代器(使用iter()和next())
x =[1
,2,3
]y =
iter
(x)for i in y:
print
(i,end="")
print
()
迭代物件:定義魔術方法:__next__()
和__iter()__
classa:
def__init__
(self)
: self.x=
0def
__next__
(self)
: self.x +=
1if self.x >10:
raise stopiteration
return self.x
def__iter__
(self)
:return self
a = a(
)print
(list
(a))
#for i in a:
# print(i)
# [1,2,3,4,5,6,7,8,9,10]
classa:
def__init__
(self,x)
: self.x=x
def__iter__
(self)
:for i in
range
(self.x)
:yield i
a = a(10)
print
(list
(a))
# for i in a:
# print(i)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
三元表示式(三目表示式)x =
7if x ==7:
print
(x)else
:print
(x**2)
# 不推薦使用,寫**還是盡量整潔易懂
print
(x)if x ==
7else
print
(x**
2)
列表推導式"""
生成平方數系列
"""squarelist =
[x**
2for x in
range(10
)]print
(squarelist)
#
"""
求序列絕對值
"""l =[-
2,3,
2,32,
0,23,
89,34,
98]absl =
[x if x>
0else
-x for x in l]
print
(absl)
#
"""
求序列中大於0的數的平方
"""squarel =
[x**
2for x in l if x>0]
print
(squarel)
#
"""
求全部可能組合
"""girls =
['mary'
,'lily'
,'ann'
]boys =
['tom'
,'john'
,'brown'
]couples =
[(g,b)
for g in girls for b in boys]
print
(couples)
#
"""
求矩陣乘積 略微燒腦
"""m =[[
1,2,
3],[
4,5,
6],[
7,8,
9]]n =[[
2,4,
6],[
1,3,
5],[
7,8,
9]]squarelist =[[
sum(m[row]
[i][col]
for i in
range(3
)])for col in
range(3
)]for row in
range(3
)]print
(squarelist)
#
字典推導式seasons =
['spring'
,'summer'
,'autumn'
,'winter'
]d =
print
(d)#
集合推導式"""
求兩個集合的交集
"""a =
b =aandb =
print
(aandb)
#
"""
求集合元素的平方
"""squarea =
print
(squarea)
#
"""
求兩個集合的並集 該方法有侷限性
"""ahb =
print
(ahb)
#
三元表示式 列表推導式 生成器表示式
一 三元表示式 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 示例...
三元表示式 列表推導式 字典生成式 生成器 遞迴
目錄三元表示式 列表推到式 字典生成式 生成器遞迴 可迭代物件 可迭代的物件,內建有 iter 方法的物件都是可迭代物件,除了數字型別,所有資料型別都是可迭代物件。python內建str list tuple dict set file都是可迭代物件 迭代器物件 執行可迭代物件的 iter 方法,執...
三元表示式 列表推導式和生成器表示式
1 三元表示式 2 列表推導式和生成器表示式 def my max x,y low的寫法 if x y return x else return yx 10y 20res x if x y else y 三元表示式 print res name input strip res sb if name ...