在 Python 编程中,zip() 函数在将多个列表组合成单个元组列表方面发挥着至关重要的作用。每个元组代表一行,将输入列表中的相应元素配对。
考虑以下代码片段:
x1, x2, x3 = stuff.calculations(withdataa) zipall = zip(x1, x2, x3) print("len of zipall %s" % len(zipall))
与预期结果 3 不同,输出为 20,表示基本结果误解。
当你将三个列表压缩在一起时每个包含 20 个元素,结果列表包含 20 个元组。每个元组包含三个元素,每个输入列表中都有一个。
例如:
In [1]: a = b = c = range(20) In [2]: zip(a, b, c) Out[2]: [(0, 0, 0), (1, 1, 1), ... (17, 17, 17), (18, 18, 18), (19, 19, 19)]
要确定每个元组的长度,您可以可以检查第一个元素:
In [3]: result = zip(a, b, c) In [4]: len(result[0]) Out[4]: 3
但是,如果输入列表为空,此方法可能会失败。因此,最好使用更稳健的方法来确定每个元组中的元素数量。
以上是为什么 Python 中的 zip() 组合三个列表时会返回 20 个元组的列表?的详细内容。更多信息请关注PHP中文网其他相关文章!