首页 >后端开发 >Python教程 >为什么 Python 中没有元组推导式?

为什么 Python 中没有元组推导式?

Barbara Streisand
Barbara Streisand原创
2024-11-05 00:35:02531浏览

Why are There No Tuple Comprehensions in Python?

揭示 Python 中缺失的元组推导式

在 Python 领域,列表和字典推导式无处不在,可将迭代无缝转换为定制列表和词典。奇怪的是,元组似乎缺乏专门的理解机制,让用户对它的缺失感到疑惑。

元组的不变性

人们最初可能会假设元组的不变性排除了理解。然而,这个理论是有缺陷的,因为其他不可变类型,比如字符串,很高兴地拥抱推导式。

历史起源

根本原因源于 Python 做出的历史选择创作者。当引入生成器表达式(生成迭代器的带括号的表达式)时,人们认为没有必要创建单独的元组理解语法。括号已经是生成器的选择符号,并且提供特定于元组的附加语法会产生冗余。

生成器表达式来救援

如果缺少元组理解语法会造成障碍,不用担心! Python 提供了一种解决方法,即使用括号创建生成器表达式:

<code class="python">tuple(i for i in (1, 2, 3))</code>

此表达式计算结果为包含所需元素的元组。

以上是为什么 Python 中没有元组推导式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn