Python 中的元組理解

Vaibhav Vaibhav 2021年12月4日
Python 中的元組理解

Python 程式語言具有簡單易懂的語法。語法非常簡單,可以用 Python 快速編寫一行程式碼。其中一項功能是列表迭代或列表推導。我們可以通過執行這個 [i ** 2 for i in [1, 2, 3, 4, 5, 6, 7]] 來迭代一個列表並快速返回一個包含列表元素方塊的新列表。這同樣適用於字典;它們也可以在一行中迭代。

Python 有各種線性資料結構,如列表、元組等。上面顯示的列表推導式不適用於元組。這意味著我們不能執行 (i ** 2 for i in (1, 2, 3, 4, 5, 6, 7))。這將引發錯誤。如果這是不可能的,我們如何在 Python 中的一行中執行元組理解?本文將討論相同的內容。

Python 中的元組理解

可以使用以下語法在 Python 中執行元組理解。

x = tuple(i for i in (1, 2, 3, 4, 5, 6, 7))
print(x)
print(type(x))
y = tuple(i ** 2 for i in (1, 2, 3, 4, 5, 6, 7))
print(y)
print(type(y))

輸出:

(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
(1, 4, 9, 16, 25, 36, 49)
<class 'tuple'>

Python 3.5 提出了一種執行元組理解的新方法。它正在使用解包過程。我們可以使用*來執行解包。相同的參考下面的程式碼。

x = *(i for i in [1, 2, 3, 4, 5, 6, 7]), # Notice the comma (,) at the end
print(x)
print(type(x))

輸出:

(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>

請注意,此語法等效於編寫 x = tuple([i for i in [1, 2, 3, 4, 5, 6, 7]])

x = tuple([i for i in [1, 2, 3, 4, 5, 6, 7]])
print(x)
print(type(x))

輸出:

(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相關文章 - Python Tuple