Menu Close

Python 元组(Tuple) – Pack, Unpack, Compare, Slicing, Delete, Key

什么是Python中的元组匹配?

Python中的元组匹配是一种通过匹配元组中的第二个元素来对元组进行分组的方法。它是通过使用字典来实现的,方法是检查python编程中每个元组中的第二个元素。但是,我们可以通过取一部分现有元组来创建新元组。

元组语法

Tup =('Jan','feb','march')

要编写一个空的元组,您需要写成两个不包含任何内容的括号-

tup1 =();

要为一个值编写元组,即使有一个值,也需要包含逗号。同样在最后,您需要编写分号,如下所示。

Tup1 =(50,);

元组索引从0开始,可以连接,切片等。

在本教程中,我们将学习-

  • 包装与开箱
  • 比较元组
  • 在字典中使用元组作为键
  • 删除元组
  • 元组切片
  • 元组的内置功能
  • 元组优于列表的优势

元组分配

Python具有元组分配功能,可让您一次分配多个变量。在这里,我们为元组1分配了人员信息,如姓名,姓氏,出生年份等,并为另一个元组2分配了值(如数字(1,2,3,…。,7))。

例如,

(姓名,姓氏,出生年份,喜爱的电影和年份,职业,出生地)= Robert

这是代码,

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中的比较运算符可以使用元组。

比较从每个元组的第一个元素开始。如果它们不与=,<或>比较,则继续进行第二个元素,依此类推。

它从比较每个元组的第一个元素开始

让我们用一个例子来研究这个

#情况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更大”。

在字典中使用元组作为键

由于元组是可哈希的,而列表不是,因此,如果我们需要创建要在字典中使用的复合键,则必须使用元组作为键。

示例:如果我们需要创建一个映射电话号码,名字,姓氏,电话号码对等的电话目录,我们将遇到一个组合键。假设我们已将变量声明为last和first number,我们可以编写字典分配语句,如下所示:

directory[last,first] = number

在方括号内,表达式是一个元组。我们可以在for循环中使用元组分配来浏览此字典。

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]


元组的内置功能

为了执行不同的任务,元组允许您使用许多内置函数,例如all(),any(),enumerate(),max(),min(),sorted(),len(),tuple()等。

元组优于列表的优势

  • 通过元组进行迭代比使用list进行迭代要快,因为元组是不可变的。
  • 包含不可变元素的元组可以用作字典的键,而list则不能
  • 如果您的数据是不可变的,则将其实现为元组将确保其保持写保护

总结

Python具有元组分配功能,可让您一次分配多个变量。

  • 元组的包装和拆包
    • 在打包时,我们将值放入新的元组中,而在拆包时,我们将这些值提取回变量中。
  • Python中的比较运算符可以使用元组。
  • 在字典中使用元组作为键
    • 元组可哈希,列表不可
    • 如果需要创建要在字典中使用的复合键,则必须使用元组作为键
    • 字典可以通过调用项返回元组列表,其中每个元组都是一个键值对
  • 元组是不可变的,不能删除。您不能从元组中删除或删除项目。但是通过使用关键字“ del”可以完全删除元组
  • 要从元组或列表中获取特定的子元素集,我们使用称为切片的独特功能

 

Posted in Python

发表评论

相关链接