Python 第六天 tuple元组详解

元组和列表(list)的不同之处在于:

  列表的元素是可以更改的,包括修改元素值,删除和插入元素,列表是可变序列。

  元组一旦创建,元素就不可更改,是不可变序列。

元组所有的元素都放在一对小括号 () 中,相邻元素之间用逗号分隔,如下所示:

(element1,element2,...,elementn)

元组里面的元素个数没有限制,只要是Pyhton支持的数据类型就可以;元组的数据类型是: tuple。

创建元组:

(1)使用 () 直接创建;

具体格式为:

tuple_name = (element1,element2,...,elementn)

示例:

1 int1 = (1, 3, 5, 7, 9)
2 str1 = ('Hello Word', 'www.baidu.com')
3 num1 = ('Python', 18, [1, 3], ('a', 3.14))

也可以不用小括号将元素包裹起来,只要将各元素用逗号隔开,Python就会将其视为元组。

示例:

1 str2 = 'Are you ok?', 'www.huawei.com'
2 print(str2)

结果:

('Are you ok?', 'www.huawei.com')

注意:当创建的元组只有一个字符串类型的元素时,元素后面必须要加一个逗号,否则Python解释器会将它视为字符串。

示例:

1 # 加上逗号
2 a = ("www.baidu.com",)
3 print(type(a))
4 print(a)
5 
6 # 不加逗号
7 b = ("www.taobao.com")
8 print(type(b))
9 print(b)

结果:

<class 'tuple'>
('www.baidu.com',)
<class 'str'>
www.taobao.com

(2)使用 tuple() 函数创建元组:

语法格式:

tuple(data)

data 表示可以转化为元组的数据,包括字符串,元组,range 对象等。

示例:

 1 # 将字符串转换成元组
 2 tup1 = tuple("hello")
 3 print(tup1)
 4 
 5 # 将列表转换成元组
 6 list1 = ['java', 'python', "c++"]
 7 tup2 = tuple(list1)
 8 print(tup2)
 9 
10 # 将字典转换成元组
11 dict1 = {'a':100, 'b':150, 'c':8}
12 tup3 = tuple(dict1)
13 print(tup3)
14 
15 # 将区间转换成元组
16 range1 = range(1, 6)
17 tup4 = tuple(range1)
18 print(tup4)
19 
20 # 创建空元组
21 print(tuple())

结果:

('h', 'e', 'l', 'l', 'o')
('java', 'python', 'c++')
('a', 'b', 'c')
(1, 2, 3, 4, 5)
()

访问元组元素:

和列表一样,可以使用(index)访问元组中的某个元素(得到一个元素的值),也可以使用切片访问元组中的一组元素(得到的是一个新的子元组);

格式:

tuple_name[i]

i 是索引值,可以是正数也可以负数。

切片访问格式:

tuple_name[start:end:step]

start 表示起始索引,end 表示结束索引,step 表示步长。

示例:

 1 url = tuple("今天是学习Python的第六天我一定要坚持下去")
 2 
 3 # 使用索引访问元组中的某个元素
 4 print(url[3])   # 使用正数索引
 5 print(url[-4])  # 使用负数做索引
 6 
 7 # 使用切片访问元组中的一组元素
 8 print(url[6: 10])       # 使用整数切片
 9 print(url[6: 14: 3])    # 指定步长
10 print(url[-6: -1])      # 使用负数切片

结果:

学
坚
('y', 't', 'h', 'o')
('y', 'o', '')
('', '', '', '', '')

修改元组:

前面说过,元组是不可变的序列,元组中的元素不能被修改,只能创建一个新的元组去替代旧的元组。

示例:

1 tup = (3.14, 5.16, 15, -55)
2 print(tup)
3 # 队员组进行重新赋值
4 tup = ("Hello Word")
5 print(tup)

结果:

(3.14, 5.16, 15, -55)
Hello Word

可以通过连接多个元组(使用+可以拼接元组)的方式想元组中添加新元素。

示例;

1 tup1 = (55, 6.13, -99, 88)
2 tup2 = (4+33, -87, 99)
3 print(tup1+tup2)
4 print(tup1)
5 print(tup2)

结果:

(55, 6.13, -99, 88, 37, -87, 99)
(55, 6.13, -99, 88)
(37, -87, 99)

删除元组:

可以使用 del 关键字删除元组。

示例:

1 tup1 = (55, 6.13, -99, 88)
2 print(tup1)
3 del tup1
4 print(tup1)

结果:

(55, 6.13, -99, 88)
Traceback (most recent call last):
  File "D:\pythonProject\one day\test.py", line 392, in <module>
    print(tup1)
NameError: name 'tup1' is not defined. Did you mean: 'tuple'?

 

posted @ 2022-07-18 18:59  南城古  阅读(109)  评论(0编辑  收藏  举报