Python中用for循环遍历的代码是什么

Admin 2022-08-15 群英技术资讯 346 次浏览

这篇文章主要介绍“Python中用for循环遍历的代码是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中用for循环遍历的代码是什么”文章能帮助大家解决问题。

常规版本

简单的 for 循环遍历

x_n = ["x1","x2","x3"]
for x in x_n:
	print(x)
>> x1
   x2
   x3

借助 range() 和 len()

x_n = ["x1","x2","x3"]
for i in range(len(x_n)):
	print(x_n[i])
>> x1
   x2
   x3

借助 enumerate()

enumerate() 是 python 的内置函数,表示枚举的意思,其处理的是可迭代或者可遍历对象(列表,字符串等),可以同时获得 值 和 其在对象中的索引号

x_n = ["x1","x2","x3"]
for i,x in enumerate(x_n):
	print(i,x)
>> (0, 'x1')
   (1, 'x2')
   (2, 'x3')

借助 iter()

iter() 的参数必须是一个可迭代或者可遍历对象,这与enumerate() 一致,iter() 返回的是迭代器

x_n = ["x1","x2","x3"]
for x in iter(x_n):
	print(x)
print(type(x_n))
print(type(iter(x_n)))
>> x1
   x2
   x3
>> <type 'list'>
>> <type 'listiterator'>

由于 iter() 可以构成迭代器对象的迭代器,其可以使用 next() 函数 来获取迭代器的下一条数据

x_n = ["x1","x2","x3"]
x_i = iter(x_n)
for x in range(len(x_n)):
	print(next(x_i))
>> x1
   x2
   x3

简便版本(在 list 内部使用 for 循环)

简单嵌入

一行代码就可以实现循环功能

my_list = [表达式 for 循环项 in 循环体 ]

例子:

import math

x_n = "Hello World"
y_n = [1,2,3]
my_listx = [n for n in x_n]
my_listy = [math.pow(n,2) for n in y_n]		# 调用math库的pow求幂
my_listy_1 = [pow(n,2) for n in y_n]        # 调用python内置的pow求幂

print(my_listx)
print(my_listy)
print(my_listy_1)

>> ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>> [1.0, 4.0, 9.0]
>> [1, 4, 9]

tips: math库的 pow() 输入为 float 型,若输入为整型(int)则自动转换为 float,输出结果也为 float;python 内置的pow() 输入为整型,输出为整型,输入为float,输出也为float

加入条件

在循环中使用条件判断(在for循环的后面加或者前面加),以筛选出合适的数据

my_list = [表达式 for 循环项 in 循环体 if 条件]

或者有第二种形式:

my_list = [表达式1  if 条件 else 表达式2 for 循环项 in 循环体]

此时 if 必须要和 else 搭配,不然会报错;且当 if 条件为真, 结果为表达式1,否者结果为 表达式2

例子:

import math

x_n = ["Hello World", "No good", "Good thing"]
y_n = [1,2,3,4]
my_listx = [n for n in x_n if n.startswith("Hello")] 
my_listy = [math.pow(n,2) for n in y_n if n > 1]

print(my_listx)
print(my_listy)

>> ['Hello World']
>> [4.0, 9.0, 16.0]

-------------------------------------------
## 第二种形式 ##
import math

x_n = ["Hello World", "No good", "Good thing"]
y_n = [1,2,3,4]
my_listx = [n if n.startswith("Hello") else "No print" for n in x_n] 
my_listy = [math.pow(n,2) if n > 2 else math.pow(n,3) for n in y_n]

print(my_listx)
print(my_listy)

>> ['Hello World', 'No print', 'No print']
>> [1.0, 8.0, 9.0, 16.0]

嵌套循环

与普通的for循环类似,list中也可以嵌套for循环来达到目的

my_list = [表达式 for 循环项1 in 循环体 for 循环项 in 循环项1]

其中第一个循环为最外层循环,后面的循环为内层循环,最后表达式的结果和次数都是按照最后一个循环内来计算的

例子:

x_n = ["Hello", "World"]
my_listx = [n for name in x_n for n in name] 
my_listy = [name for name in x_n for n in name] 

print(my_listx)
print(my_listy)

>> ['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']
>> ['Hello', 'Hello', 'Hello', 'Hello', 'Hello', 'World', 'World', 'World', 'World', 'World']
--------------------------------
## 上面的和下面的一样的效果 ##
my_list1 = []
my_list2 = []
for name in x_n:
	for n in name:
		my_list1.append(n)
		my_list2.append(name)
print(my_list1)
print(my_list2)

>> ['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']
>> ['Hello', 'Hello', 'Hello', 'Hello', 'Hello', 'World', 'World', 'World', 'World', 'World']

以上就是关于“Python中用for循环遍历的代码是什么”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案
标签: python for循环

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服