什么是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包括罗伯特的信息列表
- 元组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中的比较运算符可以使用元组。
比较从每个元组的第一个元素开始。如果它们不与=,<或>进行比较,那么它将继续进行第二个元素,依此类推。
它首先比较每个元组的第一个元素
让我们用一个例子研究这个 -
#情况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,因此输出更大
情况2:比较从每个元组的第一个元素开始。在这种情况下,5> 5是不确定的。所以它进入下一个元素.6> 4,所以输出更大
案例3:比较从每个元组的第一个元素开始。在这种情况下,5> 6这是假的。所以它进入了其他循环打印“b更大”。
使用元组作为词典中的键
由于元组是可清除的,而列表不是,如果我们需要创建一个在字典中使用的复合键,我们必须使用元组作为键。
示例:如果我们需要创建映射,名字,姓氏,电话号码对等的电话簿,我们会遇到一个复合密钥假设我们已将变量声明为最后一个和第一个数字,我们可以写一个字典赋值语句,如下所示:
directory[last,first] = number
在括号内,表达式是一个元组。我们可以在对循环中使用元组赋值来导航这个字典。
for last, first in directory:
print first, last, directory[last, first]
此循环导航目录中的键,这些键是元组。它将每个元组的元素分配到最后和第一,然后打印名称和相应的电话号码。
元组和字典
字典可以通过调用项目返回元组列表,其中每个元组都是一个键值对。
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]
带有元组的内置功能
为了执行不同的任务,元组允许你使用许多内置函数,如所有(),任何(),枚举(),MAX(),MIN(),分类(),LEN(),元组()等。
元组优于列表的优点
- 迭代通过元组比使用列表更快,因为元组是不可变的。
- 由不可变元素组成的元组可以用作字典的键,这对于列表是不可能的
- 如果您有不可变的数据,将其实现为元组将保证它仍然是写保护的
摘要:
Python的具有元组赋值功能,使您可以一次分配多个变量。
-
包装和拆包元组
- 在打包时,我们将值放入新元组中,而在解包时,我们将这些值提取回变量。
- Python中的比较运算符可以使用元组。
-
使用元组作为词典中的键
- 元组是可以清洗的,而列表则不是
- 如果我们需要创建一个在字典中使用的复合键,我们必须使用元组作为键
- 字典可以通过调用项目返回元组列表,其中每个元组都是一个键值对
- 元组是不可变的,不能删除,但使用关键字“DEL”可以完全删除元组。
- 要从元组或列表中获取特定的子元素集,我们使用这个称为切片的独特函数