Python中关键字for是用来循环遍历可遍历的项目,其中包括字符串、数组、元组、字典等数据结构。它主要和in关键字一起使用。
for循环完整的语法:
for item in items:
statement
else:
statement1
循环的执行过程是每次从items中取出值赋值给item,其中else语句可以省略;若存在else语句,如果循环for...in...不是以break或return结束,else语句将被执行,反之else语句不会执行,关于else关键字详情可参考Python else 关键字。
示例:
print('↓↓↓ case: 遍历字符串 省略else语句 ↓↓↓')
string = 'blockchain'
for item in string:
print(item)
print('↓↓↓ case: 遍历数组 正常循环完 else语句执行 ↓↓↓')
lst = ['法国', '克罗地亚', '比利时', '英格兰']
for item in lst:
print(item)
else:
print('国家遍历正常结束')
print('↓↓↓ case: 遍历字典 break退出,else语句未执行 ↓↓↓')
dic = {
'alibaba': '马云',
'tencent': '马化腾',
'baidu': '李彦宏'
}
for item in dic:
if item == 'tencent':
break
print(item, dic[item])
else:
print('bat老板遍历正常结束')
print('↓↓↓ case: 遍历元组 return退出,else语句未执行 ↓↓↓')
def test(tpl):
for ite in tpl:
if ite == 'return':
return
print(ite)
else:
print('元组遍历正常结束')
test((188, '望京', 3.15926, None, 'return', 'tool188.com'))
输出结果:
↓↓↓ case: 遍历字符串 省略else语句 ↓↓↓
b
l
o
c
k
c
h
a
i
n
↓↓↓ case: 遍历数组 正常循环完 else语句执行 ↓↓↓
法国
克罗地亚
比利时
英格兰
国家遍历正常结束
↓↓↓ case: 遍历字典 break退出,else语句未执行 ↓↓↓
alibaba 马云
↓↓↓ case: 遍历元组 return退出,else语句未执行 ↓↓↓
188
望京
3.15926
None
遍历时获取索引
在实际的开发需求中,程序可能在遍历的时候需要获取索引值,一般有两种方法,一个是结合range和len函数,另一种是用enumerate函数可以同时获取索引值和遍历单元值。
通过range和len函数获取索引
range和len都是python的内置函数,range作用是数字范围,len是获取长度,需要注意的是字典中数据是无序的,索引没有索引下标这一说,所以不能用这种形式。
示例:
print('--- case: 遍历字符串')
string = 'Guido'
for i in range(len(string)):
print(i, string[i])
print('--- case: 遍历元组')
tpl = (39500, '酒仙桥', None)
for i in range(len(tpl)):
print(i, tpl[i])
print('--- case: 遍历数组')
lst = ['全北现代', '首尔FC', '水原三星']
for i in range(len(lst)):
print(i, lst[i])
输出结果:
--- case: 遍历字符串
0 G
1 u
2 i
3 d
4 o
--- case: 遍历元组
0 39500
1 酒仙桥
2 None
--- case: 遍历数组
0 全北现代
1 首尔FC
2 水原三星
通过enumerate函数获取索引
enumerate函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据下标和数据。
示例:
lst = ['VIPKID', '粉笔网', '一起作业网']
for i, item in enumerate(lst):
print(i, item)
输出结果为:
0 VIPKID
1 粉笔网
2 一起作业网