Python tuple元组详解

Python tuple元组详解

Python创建元组

Python中提供了两种方法创建元组;
1、使用()直接创建元组
通过( )创建元组后,一般使用=将它赋值给某个变量,具体格式为:

tuplename = (element1, element2, …, elementn)
tuplename 表示变量名,element1 ~ elementn 表示元组的元素。

例如如下例子:

numbers = (1,2,3,4,5,6)
student = ("xiaoming", "xiaohong","xiaodong")
abc = ( "Python", 3, [1,2], ('love',1) )

1、在 Python 中,元组通常都是使用一对小括号将所有元素包围起来的,但小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组,如:student = “xiaoming”, “xiaohong”,“xiaodong”
2、当创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号,,否则 Python 解释器会将它视为字符串。如:student = (“xiaoming”,)

2、使用tuple()创建元组

除了使用( )创建元组外,Python 还提供了一个内置的函数 tuple(),用来将其它数据类型转换为元组类型。

tuple() 的语法格式如下:

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

例子为:

#将字符串转换成元组
place = tuple("Beijing")
print(place)
#将列表转换成元组
student = ['xiaoming','xiaohong','xiaojun','xiaohang']
student_tuple = tuple(student)
print(student_tuple)
#将字典转换成元组
student_message = {'xiaoming':19, 'xiaohong':18, 'xiaoli':15}
student_message_tupple = tuple(student_message)
print(student_message_tupple)
#将区间转换成元组
qujian = range(1, 10)
tuple1 = tuple(qujian)
print(tuple1)
#创建空元组
print(tuple())

运行结果如图:

('B', 'e', 'i', 'j', 'i', 'n', 'g')
('xiaoming', 'xiaohong', 'xiaojun', 'xiaohang')
('xiaoming', 'xiaohong', 'xiaoli')
(1, 2, 3, 4, 5, 6, 7, 8, 9)
()

Python访问元组元素

在Python中,可以使用两种方法访问元组中的元素,我们可以使用索引(index)访问元组中的某个元素(得到的是一个元素的值),也可以使用切片访问元组中的一组元素(得到的是一个新的子元组)。

使用索引(index)访问元组元素的格式为:

tuplename[i]
tuplename 表示元组名字,i 表示索引值。元组的索引可以是正数,也可以是负数。

使用切片访问元组元素的格式为:

tuplename[start : end : step]
start 表示起始索引,end 表示结束索引,step 表示步长。

如下为例子

student = tuple("I love you China,welcome to beijing")
#使用索引访问元组中的某个元素
print(student[6])  #使用正数索引
print(student[-10])  #使用负数索引
#使用切片访问元组中的一组元素
print(student[0: 8])  #使用正数切片
print(student[0: 19: 2])  #指定步长
print(student[-18: -3])  #使用负数切片

运行结果为:

t
('I', ' ', 'l', 'o', 'v', 'e', ' ', 'y')
('I', 'l', 'v', ' ', 'o', ' ', 'h', 'n', ',', 'e')
('w', 'e', 'l', 'c', 'o', 'm', 'e', ' ', 't', 'o', ' ', 'b', 'e', 'i', 'j')

Python中修改元组

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

tup1 = (1,2,3,4,5)
print(tup1)
#对元组进行重新赋值
tup1 = ("上山打老虎",)
print(tup1)

输出结果为:

(1, 2, 3, 4, 5)
('上山打老虎',)

另外,还可以通过使用运算符“+”连接多个元组,向元组中添加新元素。

tup1 = (1,2,3,4,5)
print(tup1)
#对元组进行重新赋值
tup2 = ("上山打老虎",)
print(tup1+tup2)

运行结果为:

(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5, '上山打老虎')

Python中删除元组

当创建的元组不再使用时,可以通过 del 关键字将其删除,例子为:

tup1 = (1,2,3,4,5)
print(tup1)
del tup1
print(tup1)

运行的结果为:

(1, 2, 3, 4, 5)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-10-061799c7cd56> in <module>

Python中列表和元组的区别

  • 列表属于可变序列,其中的元素可以随时增删查改;元组属于不可变序列,其中的元素是不可以修改的,如果要修改就想上文那样整体替换。
  • 列表中可以使用的增删查改的函数有很多,如可以使用append()、extend()、insert()、pop()等方法实现添加和修改列表的元素。而元组没有这几个方法,所以元组不能进行增删查改等操作。
  • 列表可以使用切片访问和修改列表中的元素。虽然元组也支持切片,但是只支持通过切片访问元素,不能修改元素。
  • 元组比列表的访问和处理速度都要快,所以只是需要对其中的元素进行访问操作的话,建议使用元组、
  • 列表不能为字典的键,而元组可以为字典的键。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值