Python3中for循环多个变量详解

2023-05-03 11:58:48 浏览数 (3)

for 循环用于迭代任何序列,从列表到元组再到字典。它甚至可以遍历一个字符串。

在同一行代码中同时对变量进行多次赋值,称为可迭代解包

Python的 for 循环中,使用多个变量可以应用于列表或字典,但它不适用于一般错误。

字典中使用 for 循环进行多项赋值

字典可用于将数据值存储在键值对中。简单来说,字典将一个值映射到另一个值,类似于使用英语字典将一个单词映射到其定义的方式。

这里,我们使用字典的 items() 方法,将字典内容以列表的形式输出,其中包含所有字典键及其值。

在字典中使用 for 循环进行多项赋值,示例如下:

代码语言:javascript复制
dict1 = {1: "a", 2: "b"}
for key, value in dict1.items():
    print(f"Key {key} has value {value}")

输出:

代码语言:javascript复制
Key 1 has value a
Key 2 has value b

在上面的代码中,还使用 f-strings 方法和 print 函数来实现 for 循环并显示键值对。

列表中使用 enumerate() 函数进行多项赋值

enumerate() 函数将任何集合变成一个枚举对象并返回它。当有两个列表时可以使用此方法,并且在索引的帮助下同时处理这两个列表以在另一个列表中查找相应的元素。

以下代码使用 enumerate() 函数在列表中进行多项赋值。

代码语言:javascript复制
list1 = ["a", "b", "c", "d"]
list2 = [100, 200, 300, 400]

# 单纯的变量枚举的索引位置和值
for index, value in enumerate(list1):
    print(f"index={index},value={value}")

# 利用list1的索引遍历取出list2的值
for index, value in enumerate(list1):
    list2_value = list2[index]
    print(f"index={index},list2 value={list2_value}")

输出:

代码语言:javascript复制
index=0,value=a
index=1,value=b
index=2,value=c
index=3,value=d
index=0,list2 value=100
index=1,list2 value=200
index=2,list2 value=300
index=3,list2 value=400

在这里,采用两个列表,即 list1list2,同时对两个列表进行赋值。enumerate 对象提供了索引,实现了同时循环遍历两个列表。

zip() 函数对元组或列表中进行多项赋值

zip() 函数是 Python 中提供的内置函数,用于创建一个迭代器,该迭代器将与来自两个或多个给定可迭代对象的元素进行交互和组合。

zip() 函数可用于并行交互,也可以一次解包多个变量。以下代码使用 zip() 函数在元组或列表中进行多项赋值。

代码语言:javascript复制
a = [1, 2, 3]
b = [4, 5, 6]

for x, y in zip(a, b):
    print(f"x={x},y={y}")

输出:

代码语言:javascript复制
x=1,y=4
x=2,y=5
x=3,y=6

zip 函数接收两个列表,并提供一个可迭代对象,当遍历它时给出了两个列表的相应元素的元组。

0 人点赞