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