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)
打包和拆包
在打包过程中,我们将值放入一个新的元组中,而在解包过程中,我们将这些值提取回变量中。
x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print(company) print(emp) print(profile)
比较元组
Python 中的比较运算符可以处理元组。
比较从每个元组的第一个元素开始。如果它们不与 =、<或> 进行比较,则继续到第二个元素,依此类推。
首先比较每个元组的第一个元素
让我们用一个例子来研究这个-
#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")
案例1: 比较从每个元组的第一个元素开始。在这种情况下5>1,所以输出a更大
案例 2: 比较从每个元组的第一个元素开始。在这种情况下,5>5 是不确定的。所以它继续到下一个元素。 6>4,所以输出a更大
案例 3: 比较从每个元组的第一个元素开始。在这种情况下 5>6 这是错误的。所以它进入 else 块并打印“b is large”。
在字典中使用元组作为键
由于元组是可散列的,而列表不是,如果我们需要创建一个复合键在字典中使用,我们必须使用元组作为键。
示例 :如果我们需要创建一个电话簿来映射名字、姓氏、电话号码对等,我们会遇到一个复合键。假设我们已经将变量声明为姓氏和名字,我们可以这样写如下所示的字典赋值语句:
directory[last,first] = number
在括号内,表达式是一个元组。我们可以在 for 循环中使用元组赋值来导航这个字典。
for last, first in directory:
print first, last, directory[last, first]
此循环导航目录中的键,它们是元组。它将每个元组的元素分配给 last 和 first,然后打印名称和相应的电话号码。
元组和字典
字典可以通过调用item来返回元组列表,其中每个元组是一个键值对。
a = {'x':100, 'y':200} b = list(a.items()) print(b)
删除元组
元组是不可变的,不能被删除。您不能从元组中删除或移除项目。但是使用关键字完全删除元组是可能的
del
元组切片
为了从元组或列表中获取特定的子元素集,我们使用了这个称为切片的独特功能。切片不仅适用于元组,也适用于数组和列表。
x = ("a", "b","c", "d", "e") print(x[2:4])
此代码的输出将是 ('c', 'e')。
这是上述所有示例的 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 允许您使用许多内置函数,如 all()、any()、enumerate()、max()、min()、sorted()、len()、tuple() 等。
元组优于列表
- 遍历元组比使用列表更快,因为元组是不可变的。
- 由不可变元素组成的元组可以用作字典的键,这在列表中是不可能的
- 如果您有不可变的数据,将其实现为元组将保证它保持写保护状态
总结
Python 具有元组赋值功能,可让您一次分配多个变量。
- 元组的打包和解包
- 在打包过程中,我们将值放入一个新元组中,而在解包过程中,我们将这些值提取回变量中。
- Python 中的比较运算符可以处理元组。
- 在字典中使用元组作为键
- 元组是可散列的,而列表不是
- 如果我们需要创建一个复合键在字典中使用,我们必须使用元组作为键
- 字典可以通过调用item返回元组列表,其中每个元组是一个键值对
- 元组是不可变的,不能被删除。您不能从元组中删除或移除项目。但是使用关键字“del”可以完全删除元组
- 为了从元组或列表中获取特定的子元素集,我们使用了这个称为切片的独特功能
Python