首页 > 后端开发 > Python教程 > 为什么 Python 中的压缩列表会生成元组列表,而不是串联列表?

为什么 Python 中的压缩列表会生成元组列表,而不是串联列表?

DDD
发布: 2024-12-18 20:17:11
原创
127 人浏览过

Why Does Zipping Lists in Python Result in a List of Tuples, Not a Concatenated List?

Python 中的压缩列表:大小不匹配说明

尝试将多个列表压缩在一起时,可能会遇到有关结果列表大小的意外行为。本文解决了一个常见的误解,并提供了对 zip() 在 Python 中如何运行的清晰理解。

最初,尝试压缩三个大小为 20 的列表的程序可能会预期得到大小为 3 的结果列表。然而,生成的 zipall 列表却包含 20 个元素。出现这种差异是因为 zip() 不连接列表;相反,它创建一个元组列表,每个元组包含原始列表中的相应元素。

考虑以下示例:

a = b = c = range(20)
zipall = zip(a, b, c)
登录后复制

输出 zipall 列表将有 20 个元素,每个元素element 是 (a_element, b_element, c_element) 形式的元组:

[(0, 0, 0),
 (1, 1, 1),
 ...
 (17, 17, 17),
 (18, 18, 18),
 (19, 19, 19)]
登录后复制

因此,要确定每个元组中的元素数量,可以检查以下任意元素的长度:

len(zipall[0])
登录后复制

这将返回长度 3,表示每个元组包含三个元素。

请注意,如果原始列表为空,则 len(zipall) 表达式将返回 0,因为空列表没有任何可用于压缩的元素。

以上是为什么 Python 中的压缩列表会生成元组列表,而不是串联列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板