开始使用免费开始使用

使用 * 和 zip 进行"解压"(unzip)

您已经会使用 zip(),也会从 zip 对象中打印值。做得很好!

我们再来多玩一会儿 zip()。并没有专门用于执行 zip() 反向操作的解压函数。不过,我们可以借助 *,再配合 zip(),把已经 zip 在一起的内容"反向"回去!* 会在函数调用中把列表、元组等可迭代对象解包为位置参数

在本练习中,您将把 * 用在对 zip() 的调用中,以解包 zip() 生成的元组。

两个字符串元组 mutantspowers 已预先加载。

本练习是课程的一部分

Python 工具箱

查看课程

练习说明

  • 使用按顺序的 mutantspowers 调用 zip() 来创建一个 zip 对象。将结果赋值给 z1
  • 在一次 print() 调用中使用 * 运算符将其中的元组解包为位置参数,从而打印 z1 中的元组。
  • 由于上一步的 print() 调用会耗尽 z1 的元素,请重新创建之前定义的 zip 对象,并再次将结果赋给 z1
  • 在对 zip() 的调用中使用 * 运算符将 z1 中的元组解包为位置参数,实现"解压"。按此顺序将结果赋给 result1result2
  • 最后的 print() 语句会打印将 result1mutantsresult2powers 进行比较的结果。点击 "Submit Answer" 查看解包后的 result1result2 是否分别等同于 mutantspowers

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create a zip object from mutants and powers: z1
z1 = ____

# Print the tuples in z1 by unpacking with *
print(____)

# Re-create a zip object from mutants and powers: z1
z1 = ____

# 'Unzip' the tuples in z1 by unpacking with * and zip(): result1, result2
result1, result2 = ____

# Check if unpacked tuples are equivalent to original tuples
print(result1 == mutants)
print(result2 == powers)
编辑并运行代码