Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python for 关键字

Python 关键字 Python 关键字


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 一起作业网