Python中关于元组(tuple)的基本操作

1.元组的定义

  • 元组的概念:与列表相似,都是元素的集合,不同点是元组中的元素不能直接修改
#定义空元组
a=()
b=tuple()

#定义普通元组(任意数据类型都可以)
c=(1, 3, 4.5, "gesag", True)  
  • 注意:定义的元组只有一个元素时,要注意逗号,若没有逗号,会定义为整形
d=(1)    #没有逗号时
type(d)

d=(1,)   #加了逗号
type(d)

输出结果为:

<class 'int'>
<class 'tuple'>

2.元组的访问与切片

(1)访问

  • 访问格式:元组名称[索引]
    支持负索引

(1.1)普通索引

c[0]
c[2]

输出结果为:

1
4.5

(1.2)负索引(最后一位元素索引为-1,倒数第二位元素索引为-2,以此类推…)

c[-1]
c[-3]
c[-5]

输出结果为:

True
4.5
1

(2)切片

  • 切片概念:通过元组切片去访问元组中的某一个片段的元素集合
  • 切片格式:元组名称[start:stop:step]
    start:起始索引
    stop:结束索引
    step:步长、间隔长度(可以不指定,默认为1)
c
c[0:4]
c[:4]     #start可以不写,默认为0,即从头开始
c[:]      #当只写一个":"时,重新复制原元组,生成一个新元组

c[:5:2]
c[::2]    #stop可以不写,默认为元组末尾

输出结果为:

(1, 3, 4.5, "gesag", True)
(1, 3, 4.5, "gesag")
(1, 3, 4.5, "gesag")
(1, 3, 4.5, "gesag", True)

(1, 4.5, True)
(1, 4.5, True)

3.元组的运算操作

(1)+

  • 概念:+即为元组拼接(不对原元组进行改变)
a=(11, 22, 33)
b=(44, 55, 66)

a+b

输出结果为:

(11, 22, 33, 44, 55, 66)

(2)*

  • 概念:*即为元组重复(不对原元组进行改变)
a*2

输出结果为:

11, 22, 33, 11, 22, 33

(3)in

  • 概念:检测 in 前的元素是否在 in 后的集合中,存在返回True,不存在返回False
11 in a
45 in a
45 not in a

输出结果为:

True
False
True

(4)迭代

  • 概念:相当于遍历
for i in a:
	print(i)

输出结果为:

11
22
33

4.元组函数

函数名 作用
len( ) 返回元组中元素的个数
min( ) 返回元组中最小的一个元素值
max( ) 返回元组中最大的一个元素值
len(a)
min(a)
max(a)

输出结果为:

3
11
33

5.元组方法

方法 功能
T.index(value) 从左到右查找指定元素在元组中的索引并返回
T.count(value) 统计某个元素在元组中出现的次数

测试用例(1)

a=(11, 22, 33, 44, 55)

a.index(22)
a.index(55)
1
4

测试用例(2)

a.count(33)
1

6.元组修改

  • 元组中的元素不能直接进行修改,但可以间接修改

(1)直接修改

a=(11, 22, 33)
a[1]=55

输出结果为:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

(2)间接修改

tt=list(a)    #1.先将元组转换成列表
tt
tt[1]=55      #2.在列表中进行想要执行的操作
tt
aa=tuple(tt)  #3.将修改好后的列表转换为元组
aa

输出结果为:

[11, 22, 33]
[11, 55, 33]
(11, 55, 33)

猜你喜欢

转载自blog.csdn.net/Zachary_H/article/details/105234349
今日推荐