首頁  >  文章  >  後端開發  >  為什麼 Python 中沒有元組推導式?

為什麼 Python 中沒有元組推導式?

Barbara Streisand
Barbara Streisand原創
2024-11-05 00:35:02468瀏覽

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