文章目录
键值对遍历
for key, value in dict.items():
同时遍历键和值,可以在dict后面加一个dict.items()进行遍历,注意需要使用两个变量来接收遍历的值。
在 Python 中,字典是一种无序的数据类型,存储的是键(key)和值(value)之间的关联关系,不保存它们的位置信息。
在字典中,每一个键(key)对应唯一的值(value),而且键(key)必须是不可变的类型(如字符串、整数或元组等),所以我们无法使用索引或位置信息来访问或操作键值对。相反,我们需要通过键来获取对应的值,或者对字典进行遍历,获取其中的所有键值对。
同时 dict.items遍历有点类似enumerate(list)的双变量遍历,不过dict是只有key、value,而list是只有index、value
for key in dict.keys()
遍历字典的键可以通过for key in dict.keys()
或者 `for key in dict:进行遍历
两种遍历方式得到的结果是相同的
for value in dict.values()
遍历字典的值,可以使用`for value in dict.values():
列表遍历
for item in list:
for index in range(len(list)):
只获取列表元素的位置信息,可通过range(len(list)
的方式进行遍历。需要注意的是,列表的初始位置为0,通过range放回的初始值也是0. 如果需要特别的值的话,一般是等差数列值,可以在range部分,或者遍历体内进行进一步的定义。
for index,value in enumerate(list):
列表是有序可遍历变量,所以列表的元素的位置具有意义。可通过enumerate(list)的方式同时遍历其元素位置index和值value
可递归变量的元素是元组
for inputs, targets in train_ds:
print("inputs shape:", inputs.shape)
print("inputs dtype:", inputs.dtype)
break
在train_ds中,数据是以tuple元组的形式保存的
- 当我们以元组元素个数来遍历train_ds,就能将元组中的数据存储到对应的变量中
- 如果for 后面只有一个变量的话,则直接返回遍历的元组tuple
3个元素,取1个
如果遍历时只指定一个变量的话,那么默认返回遍历中的整个原则
3个元素, 取3个
按照元组中元素个数,遍历的话,就会将元组中每个元素赋值到对应的变量中
3个元素,只取2个(1 <, < 3)(会报错)
例如我们如果元组中有3个元素,但是希望通过遍历获得a,b 两个变量的话,就会触发valueError,也就是说遍历会返回3个变量,但是我们只指定了两个变量的话,是会出现问题的。
3个元素,取4个(>3) (会报错)
元组中有3个元素,然而遍历时却指定超过元组元素数量的个数的变量,这里为4个。同样会触发ValueError报错
zip()函数遍历多个数组
使用zip()函数可以遍历多个数组
arr1 = [1, 2, 3, 4, 5]
arr2 = ['a', 'b', 'c', 'd', 'e']
arr3 = ['一','二','三','四','五']
for a, b, c in zip(arr1, arr2, arr3):
print(a, b, c)
但是需要注意的是,zip()里面有多少个数组,for后面就需要有多少个变量去接收遍历的值
zip()遍历会匹配最短的数组,即是短板效应
这与R语言的会自动耦合遍历不同,zip()也就是遍历到最短的就停止
arr1 = [1, 2, 3, 4, 5]
arr2 = ['a', 'b', 'c', 'd', 'e']
arr3 = ['一','二','三','四']
for a, b, c in zip(arr1, arr2, arr3):
print(a, b, c)
参考博客
https://haicoder.net/python/python-list-walk.html
https://blog.csdn.net/qq_42751978/article/details/129791051