一、zip()函数:
我们可以把zip()函数理解为一串钥匙和对应数量的锁配对。
names = ["吴承恩", "罗贯中", "施耐庵", "曹雪芹", "小贝"]
books = ["西游记", "三国演义", "水浒传", "红楼梦"]
我们把names(作者)理解为一串钥匙,而books(书名)理解为几把锁,zip函数的作用就是把作者(钥匙)和书名(锁)组合成元组,这样对于如下的for循环
names = ["吴承恩", "罗贯中", "施耐庵", "曹雪芹", "小贝"]
books = ["西游记", "三国演义", "水浒传", "红楼梦"]
for i in zip(names,books):
print(i)
i则是一对钥匙和锁(即(name1, book1)这样的元组)。
而对于a, b = (name1, book1)则是使a = name1, b = name2。因此会有如下的循环
names = ["吴承恩", "罗贯中", "施耐庵", "曹雪芹", "小贝"]
books = ["西游记", "三国演义", "水浒传", "红楼梦"]
# for i in zip(names,books):
# print(i)
for name,book in zip(names,books):
print(book+'的作者是'+name)
二、enumerate()函数
同样,其实enumerate()函数是可以用zip()函数来理解的
拓展
前面我们提到a, b = (name1, book1)效果是a = name1, b = name2,这个过程我们称之为拆包,这个前提是前面的变量个数和后面元组的元素个数要相等。