python疑难杂症(8)---元组(tuple)的创建、遍历、操作等特性。

除了列表,Python 中还有另一个重要的数据结构——元组(tuple)。元组Python中算比较有特色的类型,其特征和列表有许多相似之处。

有序:元组像列表一样是有序时,意味着项目有一个定义的顺序,而且该顺序不会改变。

不可变:列表是可变的,元组元素是不可变的,这意味着我们在创建列表后,不能更改、添加和删除项目。

元组具有索引,第一项的索引为[0],第二项的索引为[1],依此类推。

允许重复:和列表一样,由于原则具有索引,所以列表可以包含具有相同值的项目。

元组是由 () 括起来,里面的元素用逗号隔开,由一系列按特定顺序排列的值组成的,这些值可以是整数、浮点数、字符串,或另一个元组、列表,甚至是不同类型的数据都可以被容纳在元组中。通过type() 函数,列表被定义为具有数据类型 ‘tuple’ 的对象。

下面主要讲解组织元组、遍历整个元组、创建数值元组以及使用切片使用元组等内容。

创建元组:

tup1 = ('ph', 'ch', 2000 2023)

tup2 = (1, 2, 3, 4, 5,6,7)

tup3 = "a", "b", "c", "d",”f”

以上都是创建元组的例子。需要注意的是,如果元组中只有一个元素,需要在元素后面添加逗号,例如:tup1 = (50,),tup2=(”aaa”,)。

元组访问:

元组是有序的,你可以使用索引或者切片来访问元组元素,元组的索引从0开始,表示元组中第一个元素的位置。还可以通过负的来从末尾往前定位元素的位置,-1为最后的一个。

Num1 = (1, 2, 3, 4, 5,6,7)

first_num1 = num1[0]

last_num1 = num1[-1]

print("第一个数字:", first_num1)     #:  第一个数字: 1

print("最后一个数字:", last_num1)  #: 最后一个数字: 7

切片访问:切片操作来处理元组的一部分元素,切片操作使用方括号和冒号(:)来指定起始索引和结束索引,其原理和前面介绍的列表一样的。

frt= ('apple', 'banana', 'cherry', 'date', 'elderberry')

sublist = frt [1:4]

print("子元组:", sublist)  #输出:子元组: ['banana', 'cherry', 'date']

copy_fruits = frt [:]

print("复制元组:", copy_fruits)

负的索引:负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。

for 循环遍历元组元素

tup1 = ('Python', 'tuple', 1000,"list")

for t in tup1:   

print(t)

输出:

Python

tuple

1000

list

Out[13]:

('Python', 'tuple', 1000, 'list')

元组的运行速度比列表快,常使用元组控制循环体内遍历。

元组的操作

合并元组,使用加号 +:

这是最直接的方法,将两个元组直接相加,合并成一个新的元组。

tup1 = (1, 2, 3,"a","b","c","a") 

tup2 = (4, 5, 6,"a","b") 

tup3 = tuple1 + tuple2

print(merged_tuple)  # 输出:(1, 2, 3, 'a', 'b', 'c', 4, 5, 6)

 count()方法返回元组中指定值a出现的次数,

print("字符a在tup1中出现的次数",tup1.count("a"))

# 输出:字符a在tup1中出现的次数 0

print("字符a在tup3中出现的次数",tup3.count("a"))

# 输出:字符a在tup3中出现的次数 3

index() 方法查找指定值的第一次出现的位置对应的元组索引,如果未找到该值,index() 方法将引发异常。

print("tup1中a第一次出现的位置:",tup1.index('a')) 

# tup1中a第一次出现的位置: 3

print("tup1中a第一次出现的位置:",tup1.index('d'))

d不在里面,报错。

ValueError                                Traceback (most recent call last)

<ipython-input-29-ac78a99b17df> in <module>

----> 1 print("tup1中a第一次出现的位置:",tup1.index('d'))

ValueError: tuple.index(x): x not in tuple

使用 len() 方法查看元组长度,元素的总个数 :

print("tup1的长度:", len(tup1))

print("tup3的长度:", len(tup3))

输出:

tup1的长度: 7

tup3的长度: 12

检查元素是否存在,可以使用 in 关键字:

如检查元组中是否存在a、d。

word='d'

if word in tup1:

    print(f'{word}在元组中')

else:

print(f'{word}不在元组中')

输出:a在元组中

 而d则输出 d不在元组中

  • 29
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值