循环语句 for in
循环语句 for-in
简介
Python 并没有提供类似 C 语言中那种传统意义上的 for
循环,而是提供了一种专门处理字符串,元组,列表,字典等可迭代的序列类型数据的增强型 for
循环 for-in
。
for-in 循环语法
for 迭代变量 in 对象:
循环体
for-in
循环会将可迭代对象中的元素依次取出,保存到迭代变量中。
每取出一个变量,便执行一次循环体,在循环体中可以通过引用迭代变量,使用取出的数据。
遍历可迭代对象
使用for-in循环处理可迭代对象,可以使操作过程变的极其简单。
遍历字符串
for-in
循环会将字符串中的每个字符依次取出,放入迭代变量中。
格式:
for 变量 in 字符串:
pass
示例: 输出前面示例中每个字符对应的ASCII码值。
s = "Hello Hogworts!"
for c in s:
print(f"字符【 {c} 】的ASCII码为:【 {ord(c)} 】")
遍历元组
for-in
循环会将元组中的每个元素依次取出,放入迭代变量中。
格式:
for 变量 in 元组:
pass
示例: 输出元组中每个数字的立方值
t = (1,2,3,4,5)
for n in t:
print(f"数字【 {n} 】的立方值为:【 {n**3} 】")
遍历列表
for-in
循环会将列表中的每个元素依次取出,放入迭代变量中。
格式:
for 变量 in 列表:
pass
示例: 将列表中所有的请求方式转换为大写输出
requestMethods = ["get", "post", "put", "delete", "patch", "header", "options", 'trace']
for method in requestMethods:
print(f"请求方式【 {method} 】转换为大写后:【 {method.upper()} 】")
遍历字典
字典是一个比较特殊的数据类型,由 key-value
组成,在使用 for-in
遍历字典时,默认遍历的是字典的所有 key
。
如果需要遍历字典中的 value
或以 key-value
形式遍历,需要配合使用字典中对应的方法实现。
字典的默认遍历
for-in
循环在字典中依次取出每个元素的 key
,放入迭代变量中。
格式:
for 变量 in 字典:
pass
示例:
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods:
print(method)
遍历字典中的所有 key
使用字典的 keys()
方法配合 for-in
循环可以遍历字典的所有 key
,但一般不会这么操作。
格式:
for 变量 in 字典.keys():
pass
示例:
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods.keys():
print(method)
遍历字典中的所有 value
使用字典的 values()
方法配合 for-in
循环可以遍历字典的所有 value
。需要注意的是,虽然可以取值,但对字典而言,这种操作也很少使用。
格式:
for 变量 in 字典.values():
pass
示例:
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods.values():
print(method)
遍历字典中的所有 key-value
字典中的一个完成的元素是以 key-value
形式体现的,如果要遍历字典中的所有元素,可以使用字典的 items()
方法配合 for-in
循环可以遍历字典的所有 key-vakue
。
items()
方法取出的字典元素会以元组形式保存到迭代变量中,适当的场景下,可以使用解包操作,直接将元素中的 key-value
保存到对应的变量中。
格式:
for 变量 in 字典.items():
pass
# 或
for 变量1, 变量2 in 字典.items():
pass
示例:
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for item in requestMethods.items():
print(f"请求方式【 {item[0]} 】的作用为:【 {item[1]} 】")
配合解包操作,更简单的实现
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for key, value in requestMethods.items():
print(f"请求方式【 {key} 】的作用为:【 {value} 】")