python元组添加元素_Python 元组(Tuple)

Python 元组(Tuple)

Python中的元组类似于列表。两者之间的区别在于,一旦分配了元组,就无法更改其元素,而在列表中,可以更改元素。

创建一个元组

通过将所有项目(元素)放在括号内()(以逗号分隔)来创建元组。括号是可选的,但是,使用括号是一个好习惯。

元组可以具有任意数量的项,并且它们可以具有不同的类型(整数,浮点数,列表,字符串等)。

也可以在不使用括号的情况下创建元组。这称为元组包装。

用一个元素创建一个元组有点特殊。

只有一个元素的元组,括号内仅包含一个元素是不够的。我们将需要一个逗号结尾来表明它实际上是一个元组。

示例my_tuple = ("hello")

print(type(my_tuple)) #

# 创建一个只有一个元素的元组

my_tuple = ("hello",)

print(type(my_tuple)) #

# 括号是可选的

my_tuple = "hello",

print(type(my_tuple)) #

访问元组元素

我们可以通过多种方式访问元组的元素。

1.索引

我们可以使用索引运算符[]访问索引从0开始的元组中的项目。

因此,具有6个元素的元组将具有从0到5的索引。尝试访问元组之外的元素(例如6、7 ...)将引发IndexError。

索引必须是整数;因此我们不能使用float或其他类型。如果使用会导致TypeError。

同样,使用嵌套索引访问嵌套元组,如下面的示例所示。my_tuple = ('p','e','r','m','i','t')

print(my_tuple[0]) # 'p'

print(my_tuple[5]) # 't'

# IndexError:列表索引超出范围

# print(my_tuple[6])

# 索引必须是整数

# TypeError: 列表索引必须是整数,而不是浮点数

# my_tuple[2.0]

# 嵌套元组

n_tuple = ("mouse", [8, 4, 6], (1, 2, 3))

# 嵌套索引

print(n_tuple[0][3]) # 's'

print(n_tuple[1][1]) # 4

2.负索引

Python允许对其序列进行负索引。

索引-1表示最后一项,-2表示倒数第二项,依此类推。

示例my_tuple = ('p','e','r','m','i','t')

# 输出: 't'

print(my_tuple[-1])

# 输出: 'p'

print(my_tuple[-6])

3.切片

我们可以使用切片运算符-冒号“:”访问元组中的一系列项目。

示例my_tuple = ('p','r','o','g','r','a','m','i','z')

# 第2个-4个元素

# 输出: ('r', 'o', 'g')

print(my_tuple[1:4])

# 从开始到第二个元素

# 输出: ('p', 'r')

print(my_tuple[:-7])

# 第8个元素到结尾

# 输出: ('i', 'z')

print(my_tuple[7:])

# 从开始到结尾的元素

# 输出: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

print(my_tuple[:])

通过考虑索引位于元素之间,可以最好地可视化切片,如下所示。因此,如果要访问范围,则需要将元组中的部分切片的索引。

element-slicling.jpg

更换元组

与列表不同,元组是不可变的。

这意味着一旦分配了元组的元素就无法更改。但是,如果元素本身是可变的数据类型(如列表),则可以更改其嵌套项目。

我们还可以将元组分配给不同的值(重新分配)。

示例my_tuple = (4, 2, 3, [6, 5])

# TypeError: 'tuple' 对象不支持项分配

# my_tuple[1] = 9

# 但是,可变要素的项目可以变更

my_tuple[3][0] = 9 # Output: (4, 2, 3, [9, 5])

print(my_tuple)

# 元组可以重新分配

my_tuple = ('p','r','o','g','r','a','m','i','z')

# 输出: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

print(my_tuple)

我们可以使用+运算符来合并两个元组。这也称为串联。

我们还可以使用运算符*,将元组中的元素重复给定次数。

无论+和*操作会导致新的记录。

示例# 串联

# 输出: (1, 2, 3, 4, 5, 6)

print((1, 2, 3) + (4, 5, 6))

# 重复

# 输出: ('Repeat', 'Repeat', 'Repeat')

print(("Repeat",) * 3)

删除元组

如上所述,我们不能更改元组中的元素。这也意味着我们无法删除或删除元组中的项目。

但是可以使用关键字del完全删除一个元组。

示例my_tuple = ('p','r','o','g','r','a','m','i','z')

# 不能删除条目

# TypeError: 'tuple'对象不支持项目删除

# del my_tuple[3]

# 可以删除整个元组

del my_tuple

# NameError: 未定义名称“ my_tuple”

print(my_tuple)

元组方法

元组不提供添加项目或删除项目的方法。仅以下两种方法可用。Python元组方法方法描述

返回等于x的第一项的索引

Python元组方法的一些示例:

示例my_tuple = ('a','p','p','l','e',)

print(my_tuple.count('p')) # Output: 2

print(my_tuple.index('l')) # Output: 3

其他元组操作

1.元组成员资格测试

我们可以使用关键字in来测试项目是否存在于元组中。

示例my_tuple = ('a','p','p','l','e',)

# In 操作

# 输出: True

print('a' in my_tuple)

# 输出: False

print('b' in my_tuple)

# Not in 操作

# 输出: True

print('g' not in my_tuple)

2.遍历元组

使用for循环,我们可以遍历元组中的每个项目。

示例# 输出:

# Hello John

# Hello Kate

for name in ('John','Kate'):

print("Hello",name)

元组相比于列表的优势

由于元组与列表非常相似,因此它们在类似情况下也都使用。

但是,在列表上实现元组具有某些优点。下面列出了一些主要优点:我们通常将元组用于异构(不同)数据类型,将列表用于同类(相似)数据类型。

由于元组是不可变的,因此遍历元组要比使用list更快。因此,性能略有提升。

包含不可变元素的元组可以用作字典的键。对于列表,这是不可能的。

如果您拥有不变的数据,则将其实现为元组将确保其保持写保护。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值