28.循环语句for in

发布时间 2023-11-12 16:44:12作者: 想要暴富的小男孩

循环语句-for-in

Python并没有提供类似C语言中那种传统意义上的for循环,而是提供了一种专门处理字符串,元组,列表,字典等可迭代的序列类型数据的增强型for循环。

遍历可迭代对象

使用for-in循环处理可迭代对象,可以使操作过程变的极其简单。

遍历字符串

s = "Hello Hogworts!"
for c in s:
print(c)

示例: 输出前面示例中每个字符对应的ASCII码值。

s = "Hello Hogworts!"
for c in s:
print(f"字符【 {c} 】的ASCII码为:【 {ord(c)} 】")

遍历元组

t = (1,2,3,4,5)
for n in t:
print(n)

示例:输出前面示例元组中每个数字的立方值

t = (1,2,3,4,5)
for n in t:
print(f"数字【 {n} 】的立方值为:【 {n*3} 】")

遍历列表

requestMethods = ["get", "post", "put","delete", "patch", "header", "options",'trace']
for method in requestMethods:
print(method)

示例:将前面示例列表中所有的请求方式转换为大写输出

requestMethods = ["get", "post", "put","delete", "patch", "header", "options",'trace']
for method in requestMethods:
print(f"请求方式【 {method} 】转换为大写后:【 {method.upper()} 】")

遍历字典

requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods:
print(method)

从前面的代码中可以看出,字典是一个比较特殊的数据类型,由key-value组成,在使用for-in遍历字典时,默认遍历的是字典的所有key,相当于下面的代码

requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods.keys():
print(method)

如果想遍历字典中的所有值,可以使用下面的方式

requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods.values():
print(method)

但是直接对字典取值遍历的使用方式大多数情况下是无意义的。

示例: 通过遍历字典的key,输出每个key对应的值。

requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods:
print(f"请求方式【 {method} 】的作用为:【 {requestMethods[method]} 】")

此种方式虽然可以取到结果,但是for-in循环在遍历字符时,配合字典的items()方法,实现更简单的方法

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} 】")