Python - 联接元组



在 Python 中联接元组

Python 中的联接元组是指将多个元组的元素组合成一个元组。这可以使用各种方法来实现,例如连接、列表推导或使用内置函数(如 extend() 或 sum()。

连接元组不会修改原始元组,但会创建一个包含组合元素的新元组。

使用串联 (“+”) 运算符联接元组

Python 中的串联运算符(用 + 表示)用于将两个序列(例如字符串、列表或元组)联接到一个序列中。当应用于元组时,串联运算符将连接两个(或多个)元组的元素,以创建一个包含两个元组中的所有元素的新元组。

我们可以使用连接运算符连接元组,只需使用 + 符号来连接它们。

在下面的示例中,我们将连接两个元组 “T1” 和 “T2” 的元素,创建一个包含两个元组的所有元素的新元组 “joined_tuple” -


# Two tuples to be joined
T1 = (10,20,30,40)
T2 = ('one', 'two', 'three', 'four')
# Joining the tuples
joined_tuple = T1 + T2

# Printing the joined tuple
print("Joined Tuple:", joined_tuple)

以下是上述代码的输出 -

Joined Tuple: (10, 20, 30, 40, 'one', 'two', 'three', 'four')

使用列表推导式连接元组

列表推导式是在 Python 中创建列表的一种简洁方法。它用于通过将表达式应用于现有可迭代对象中的每个项目(例如列表、元组或范围)来生成新列表。列表推导式的语法是 −


 new_list = [expression for item in iterable]

这将创建一个新列表,其中为 iterable 中的每个项目计算 expression

我们可以通过迭代多个元组并将其元素附加到新元组来使用列表推导来联接元组。

在此示例中,我们使用列表推导式将两个元组 T1 和 T2 联接为一个元组。生成的元组 joined_tuple 包含 T1 和 T2 中的所有元素 -


# Two tuples to be joined
T1 = (36, 24, 3)
T2 = (84, 5, 81)
# Joining the tuples using list comprehension
joined_tuple = [item for subtuple in [T1, T2] for item in subtuple]
# Printing the joined tuple
print("Joined Tuple:", joined_tuple)

上述代码的输出如下 -

Joined Tuple: [36, 24, 3, 84, 5, 81]

使用 extend() 函数连接元组

Python extend() 函数用于将可迭代对象(例如另一个列表)中的元素附加到列表的末尾。此函数就地修改原始列表,将可迭代对象的元素添加到列表的末尾。

extend() 函数不用于在 Python 中联接元组。它用于通过附加来自另一个可迭代对象(例如另一个列表)的元素来扩展列表,从而有效地将两个列表合并在一起。

我们可以使用 extend() 函数联接元组,方法是暂时将元组转换为列表,像列表一样执行联接操作,然后将结果列表转换回元组。

在下面的示例中,我们将第一个元组 “T1” 转换为列表 “L1” 来扩展它,然后通过首先将其转换为列表 “L2” 来添加第二个元组 “T2” 中的元素,最后将合并后的列表转换回元组,从而有效地连接两个元组 -


T1 = (10,20,30,40)
T2 = ('one', 'two', 'three', 'four')
L1 = list(T1)
L2 = list(T2)
L1.extend(L2)
T1 = tuple(L1)
print ("Joined Tuple:", T1)

获得的输出如下所示 -

Joined Tuple: (10, 20, 30, 40, 'one', 'two', 'three', 'four')

使用 sum() 函数连接元组

在 Python 中,sum() 函数用于将可迭代对象中的所有元素相加,例如列表、元组或集合。它采用一个可迭代对象作为其参数,并返回该可迭代对象中所有元素的总和。

我们可以通过将元组作为参数提供给 sum() 函数,使用 sum() 函数来联接元组。但是,由于 sum() 函数是专门为数字数据类型设计的,因此此方法仅适用于包含数字元素的元组。它将 Tuples 中的所有数字元素相加并返回它们的 sum。

语法

以下是在 Python 中使用 sum() 函数连接元组的语法 -


 result_tuple = sum((tuple1, tuple2), ())

此处,第一个参数是包含要连接的 Tuples 的 Tuples。第二个参数是 sum 的起始值。由于我们正在连接元组,因此我们使用空元组 () 作为起始值。

在此示例中,第一个元组的元素首先附加到空元组。然后附加第二个元组中的元素,从而生成一个新元组,该元组是两者的串联 -


T1 = (10,20,30,40)
T2 = ('one', 'two', 'three', 'four')
T3 = sum((T1, T2), ())
print ("Joined Tuple:", T3)

执行上述代码后,我们得到以下输出 -

Joined Tuple: (10, 20, 30, 40, 'one', 'two', 'three', 'four')

使用 for 循环连接元组

Python 中的 for 循环用于迭代序列(例如列表、元组、字符串或范围)并为序列中的每个元素执行代码块。循环将继续,直到处理完所有元素。

我们可以使用 for 循环联接元组,方法是迭代一个元组的元素,并使用 “+=” 运算符将每个元素附加到另一个元组。

在下面的示例中,我们将迭代元组 T2 中的每个元素,对于每个元素,我们将其附加到元组 T1,从而有效地连接两个元组 -


T1 = (10,20,30,40)
T2 = ('one', 'two', 'three', 'four')
for t in T2:
	 	T1+=(t,)
print (T1)

我们得到的输出如下所示 -

(10, 20, 30, 40, 'one', 'two', 'three', 'four')