Python学习之[4]——元组

元组的创建
Python3 中元组按照以下方式创建:

>>>tuple1=('Python', 'is', 'a', 'glue', 'language')

也可以采用tuple函数一个列表转化为一个元组

>>> list1=['this','is','a','list']
>>> list2tuple=tuple(list1)
>>> list2tuple
('this', 'is', 'a', 'list')

元组(tuple)是一种静态的(immutable)或者说是不可变(unchangeable)的数据结构,里面的元素按照一定的顺序排列。它是静态的,所以元组里的元素不能被修改。
元组用于给数据分组。元组中的每一个元素称之为“项”(item)。
元组中的值被包装在括号中,并用逗号分隔,空元组可以写成tuple1=(),不过只有一项元素的元组必须使用逗号:coral = (“blue coral”,)。
任意无符号的对象以逗号隔开,默认为元组,因此可以按照以下方式创建。

>>> tuple2=123,
>>> tuple3=123,34

可以使用print()函数打印元组,会得到如下的输出,其中元组依然‘()’用括号包裹。

>>> print(tuple1)
('Python', 'is', 'a', 'glue', 'language')
>>> print(tuple2,tuple3)
(123,) (123, 34)

当你试图理解Python中的元组或者其他集合类型的数据结构时,去想一下电脑中存在的不同集合是有帮助的:不同类型文件的排列,你的歌曲清单,浏览器中的书签,你的邮箱,你在流媒体上获得的视频集合等等。
元组和列表很像,不过元组中的值是不可修改的。也正因为如此,当你在代码中使用元组时,就意味着告诉他人你不想集合中的数据被修改。同时,因为元组中的值不可变,因此相比于使用列表,你的代码能通过使用元组得到优化。
元组的索引
作为一个有序的元素集合,元组中的任一项都可以通过索引被单独访问。每一项都与一个索引号相关联,它是一个整数值,从0开始计数。

>>>print('index0:',tuple1[0],',index1:',tuple1[1],',index2:',tuple1[2],',index3:',tuple1[3],',index4:',tuple1[4])
index0: Python ,index1: is ,index2: a ,index3: glue ,index4: language

索引号除了可以是正数,还可以是负数形式,它是从后往前倒着数的,从-1开始。当我们去具体访问一个长元组的最后几项时,负数形式的索引号很有效。

>>> print('index-1:',tuple1[-1],',index-2:',tuple1[-2])
index-1: language ,index-2: glue

元组的切片
元组的切片与列表类似

>>> tuple1[::2]
('Python', 'a', 'language')
>>> tuple1[-1::-2]
('language', 'a', 'Python')

操作符可以被用来连接或者复制元组。‘+’可以将两个或者多个元组或元组切片连接在一起。我们可以把两个元组中的值合并得到一个新的元组,‘*’用于复制元组或元组的切片。

>>> tuple1[-1::-2]*2+tuple2*3
('language', 'a', 'Python', 'language', 'a', 'Python', 123, 123, 123)

元组的函数

len(tuple1)
计算元组的长度,把元组作为参数传递进去:
max(tuple1)和min(tuple1)
用于找到某一特定元组中的最大值和最小值。

元组和列表的不同之处
元组和列表的首要不同之处就是元组中的值不可修改的。这意味着不能在元组中添加或者删除值,某一数据项的值也不能修改。
我们可以使用list()函数将元组转化为列表。
元组的内置方法:
count():查找元素在tuple中出现的次数。若元组中不存在,则返回零。
index():查找元素的第一个索引值。若元组中不存在,则返回一个错误。
总结
元组是一种有序的数据类型,它不能被修改,因其运行速度比列表快,所以使用元组的代码会有一定的优化。当你和其他人共同合作编写代码时,使用元组类型意味着你不想自己的数据序列被修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值