Python中for循環是一個通用的序列迭代器:它可以遍歷任何有序序列和其他可迭代對象內的元素。for循環可用於字符串,列表,元組或其他內置可迭代對象。
其語法形式如下:
"""
當運行for循環時,會逐個將可迭代對象object中的元素賦值給target,
然後爲每個元素執行循環主體。
"""
for target in object: #
statements1
if test:
break # 跳出循環
if test:
continue # 結束本次循環
else:
statements2 # 上面沒有執行break語句,就會執行到這裏
1:簡單應用
# 字符串
s = 'ixusy88'
for x in s:
print(x)
# 列表
lst = ['123','abc','456']
for x in lst:
print(x)
# 元組
st = ('123','abc','456')
for x in st:
print(x)
2:for循環中的元組賦值
# 1:
lst = [(1,2),(3,4),(5,6)]
for t in lst:
a,b = t
print(a,b)
"""
輸出
1 2
3 4
5 6
"""
for (a,b) in lst:
print(a,b)
"""
輸出
1 2
3 4
5 6
"""
#2:
lst = [((1,2),3),((4,5),6)]
for t in lst:
print(t)
(a,b),c = t
print(a,b,c)
"""
輸出:
((1, 2), 3)
1 2 3
((4, 5), 6)
4 5 6
"""
lst = [((1,2),3),((4,5),6)]
for ((a,b),c) in lst:
print(a,b,c)
"""
輸出:
1 2 3
4 5 6
"""
# 3:字典:
dic = {'name':'ixusy88','age':18}
for key in dic:
print(key,'-->',dic[key])
"""
輸出:
name --> ixusy88
age --> 18
"""
dic = {'name':'ixusy88','age':18}
for k,v in dic.items():
print(k,'-->',v)
"""
name --> ixusy88
age --> 18
"""
3:計數器循環:range
"""
print(help(range))
class range(object)
| range(stop) -> range object
| range(start, stop[, step]) -> range object
........
"""
# 0到9
for x in range(10):
print(x,end=',')
print('')
# 輸出 0,1,2,3,4,5,6,7,8,9,
# 1到9
for x in range(1,10):
print(x,end=',')
print('')
# 輸出 1,2,3,4,5,6,7,8,9,
# 1到9,間隔爲2
for x in range(1,10,2):
print(x,end=',')
print('')
# 輸出 1,3,5,7,9,
# 1到9,間隔爲3
for x in range(1,10,3):
print(x,end=',')
print('')
# 輸出 1,4,7,
4:偏移量和元素:enumerate
print('--字符串-1-:',)
# 字符串
s = 'ixusy88'
for x in s:
print(x)
print('--字符串-2-:',)
# 帶偏移量
for i,x in enumerate(s):
print(i,x)
print('--列表-1-:',)
# 列表
lst = ['123','abc','456']
for x in lst:
print(x)
print('--列表-2-:',)
for i,x in enumerate(lst):
print(i,x)
print('--元組-1-:',)
# 元組
st = ('123','abc','456')
for x in st:
print(x)
print('--元組-2-:',)
for i,x in enumerate(st):
print(i,x)
4:推導
# 推導
# 列表推導
t = [x**x for x in range(5)]
print(t)
# 集合
t = {x**x for x in range(5)}
print(t)
# 字典
t = {x:x**x for x in range(5)}
print(t)