Python TUPLE – 打包、解包、比较、切片、删除、键
什么是元组匹配 Python?
元组匹配 Python 是一种通过匹配元组中的第二个元素对元组进行分组的方法。在 Python 编程中,它是通过使用字典检查每个元组中的第二个元素来实现的。但是,我们可以通过获取现有元组的部分来创建新的元组。
元组语法
Tup = ('Jan','feb','march')
要写一个空元组,你需要写两个不包含任何内容的括号 -
tup1 = ();
对于单个值的元组,即使只有一个值,也需要包含逗号。此外,末尾还需要写分号,如下所示。
Tup1 = (50,);
元组索引从 0 开始,并且可以进行连接、切片等等。
元组赋值
Python 具有元组分配功能,可让您一次分配多个变量。在这里,我们已将姓名、姓氏、出生年份等个人信息分配给元组 1,并将其中的值分配给另一个元组 2,例如数字 (1,2,3,….,7)。
例如,
(名字、姓氏、出生年份、最喜欢的电影和年份、职业、出生地) = 罗伯特
这是代码,
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print(tup1[0]) print(tup2[1:4])
- 元组 1 包含 Robert 的信息列表
- 元组 2 包含数字列表
- 我们将元组中 [0] 的值称为元组,将元组 2 中的值称为 1 到 4 之间的值
- 运行代码-它为第一个元组给出名称 Robert,而为第二个元组给出数字(2,3、4 和 XNUMX)
打包和拆包
在打包时,我们将值放入一个新的元组中,而在解包时,我们将这些值提取回变量中。
x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print(company) print(emp) print(profile)
比较元组
比较运算符 Python 可以处理元组。
比较从每个元组的第一个元素开始。如果它们与 =、< 或 > 不匹配,则继续比较第二个元素,依此类推。
首先比较每个元组的第一个元素
让我们通过一个例子来研究一下
#情况1
a=(5,6) b=(1,4) if (a>b):print("a is bigger") else: print("b is bigger")
#情况2
a=(5,6) b=(5,4) if (a>b):print("a is bigger") else: print ("b is bigger")
#情况3
a=(5,6) b=(6,4) if (a>b):print("a is bigger") else: print("b is bigger")
情况1: 比较从每个元组的第一个元素开始。在本例中,5>1,因此输出 a 较大
案例2: 比较从每个元组的第一个元素开始。在本例中,5>5,结果不确定。因此,它继续比较下一个元素。6>4,因此输出 a 较大
案例3: 比较从每个元组的第一个元素开始。在本例中,5>6 为假。因此它进入 else 块并打印“b 更大”。
使用元组作为字典中的键
由于元组是可哈希的,而列表不是,所以如果我们需要创建一个用于字典中的复合键,我们必须使用元组作为键。
例如::如果我们需要创建一个电话簿,映射名字、姓氏、电话号码对等,我们就会遇到复合键。假设我们已经将变量声明为姓氏和名字,我们可以编写一个字典赋值语句,如下所示:
directory[last,first] = number
括号内的表达式是一个元组。我们可以在 for 循环中使用元组赋值来浏览这个字典。
for last, first in directory:
print first, last, directory[last, first]
此循环浏览目录中的键,这些键是元组。它将每个元组的元素分配到最后和最前面,然后打印姓名和相应的电话号码。
元组和字典
Dictionary 可以通过调用 items 返回元组列表,其中每个元组都是一个键值对。
a = {'x':100, 'y':200} b = list(a.items()) print(b)
删除元组
元组是不可变的,不能被删除。您不能从元组中删除或移除项目。但可以使用关键字
del
元组的切片
要从元组或列表中获取特定的子元素集,我们使用这个称为切片的独特函数。切片不仅适用于元组,也适用于数组和列表。
x = ("a", "b","c", "d", "e") print(x[2:4])
该代码的输出将是('c','d')。
这里是 Python 2 以上所有示例的代码
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print tup1[0] print tup2[1:4] #Packing and Unpacking x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print company print emp print profile #Comparing tuples #case 1 a=(5,6) b=(1,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 2 a=(5,6) b=(5,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 3 a=(5,6) b=(6,4) if (a>b):print "a is bigger" else: print "b is bigger" #Tuples and dictionary a = {'x':100, 'y':200} b = a.items() print b #Slicing of Tuple x = ("a", "b","c", "d", "e") print x[2:4]
带有 Tuple 的内置函数
为了执行不同的任务,tuple 允许您使用许多内置函数,如 all()、any()、enumerate()、max()、min()、sorted()、len()、tuple() 等。
元组相对于列表的优势
- 通过元组进行迭代比通过列表进行迭代更快,因为元组是不可变的。
- 由不可变元素组成的元组可以用作字典的键,而列表则无法做到这一点
- 如果你有不可变的数据,将其实现为元组将保证它保持写保护
结语
Python 具有元组赋值功能,使您可以一次分配多个变量。
- 元组的打包和拆包
- 在打包时,我们将值放入一个新的元组中,而在解包时,我们将这些值提取回变量中。
- A 比较运算符 Python 可以处理元组。
- 使用元组作为字典中的键
- 元组是可哈希的,而列表不是
- 如果我们需要创建一个用于字典的组合键,则必须使用元组作为键
- Dictionary 可以通过调用 items 返回元组列表,其中每个元组都是一个键值对
- 元组是不可变的,不能被删除。您不能从元组中删除或移除项目。但可以使用关键字“del”完全删除元组
- 为了从元组或列表中获取特定的子元素集,我们使用这个称为切片的独特函数