在 Python 中追加元素到一个元组

Rayven Esplanada 2023年1月30日
  1. 在 Python 中初始化一个元组
  2. 在 Python 中使用 + 运算符来追加到一个元组中
  3. 在 Python 中执行元组到列表的转换以追加到元组中
在 Python 中追加元素到一个元组

本教程将演示如何在 Python 中对元组进行追加。

在 Python 中,元组是一种无序的、不可改变的数据类型,用于存储集合。元组和列表很像,但不同的是元组有一个固定的长度,并且是不可改变的,不像列表是可变的。

在 Python 中初始化一个元组

元组数据类型通过使用括号 () 封装值来初始化。元组中的值不一定是相同的类型。

my_tuple = ("Jane Doe", 40, 0.05, "a", [1, 2, 3])

这是一个包含四个不同数据类型值的元组初始化的例子。也支持嵌套的元组。

列表也可以使用内置函数 tuple() 转换为元组,它可以将任何列表转换为元组。

my_list = [1, 2, 3, 4, 5]

print(tuple(my_list))

输出:

(1, 2, 3, 4, 5)

现在已经讨论了元组的初始化,我们可以继续讨论如何对一个不可变的元组进行追加。

在 Python 中使用 + 运算符来追加到一个元组中

重申一下,元组数据类型是不可变的,这意味着任何已经初始化的值都不能改变。不可变数据类型的另一个例子是字符串。

就像字符串一样,元组值可以通过简单地将一个新的值连接到现有的值上来改变或附加。它将两组不同的元组合并成一个,实际上并没有改变现有的值,保持了数据类型的不可变性。

例如,这里是两个独立的元组。通过连接这两个元组来初始化第三个变量。

tuple_a = ("a", "b", "c")
tuple_b = ("d", "e", "f")
tuple_c = tuple_a + tuple_b

print(tuple_c)

输出:

('a', 'b', 'c', 'd', 'e', 'f')

现在,tuple_c 变量被两个元组的连接值初始化了。

下面是另一种连接元组的方法。

tuple_a = ("c", "d", "f")
tuple_b = ("a", "b") + tuple_a + ("g", "h")

print(tuple_b)

输出:

('a', 'b', 'c', 'd', 'f', 'g', 'h')

按字母顺序排列,上面的输出中缺少了字符 e,而且没有任何方法可以使用连接法在元组中间插入一个值。

这种方法唯一的缺陷是,在元组中间插入一个值是不可能的,因为你只能在现有元组的开始或结束处进行连接。

在 Python 中执行元组到列表的转换以追加到元组中

在 Python 中对元组进行追加的一种更灵活方便的方法是将元组转换为列表。

通过这种方式,可以对值执行内置的列表函数,以便在列表的任何地方进行方便的插入和删除。在所有的操作之后,就可以将列表转换回一个不可更改的元组。

下面是一个元组到列表转换插入新元素的例子。

tuple_val = (11, 52, 67, 142)
list_val = list(tuple_val)

l.insert(1, 20)
print(l)

tuple_val = tuple(list_val)
print(tuple_val)

首先将元组转换为列表,并使用内置的 insert() 函数在现有值之间插入一个值。之后,列表被转换回元组。

输出:

[11, 20, 52, 67, 142]
(11, 20, 52, 67, 142)

将元组转换为列表,将打开其他的可能性,使用内置的 sort()remove() 等函数,以及其他可能的列表操作。

总而言之,由于元组的不可更改性,它不能像列表一样简单地被修改。对元组进行追加的最广泛的方法是将元组转换为一个列表。如果只需要在元组的开始或结束处进行添加,那么可以使用简单的连词+

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

相关文章 - Python Tuple