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