Python、元组

1/Python的元组

元组与列表类似,不同之处在于元组的元素不能修改。格式为小括号里面逗号分隔各个元素。
example:a=(1,2,3,4)
空元组:() 圆括号中不包含任何元素就是空元组

>>> ()
()

一个值的元组:圆括号中仅有的元素值和逗号 格式如下:
(n,)
n如果是字符或字符串的话需要加双引号或者单引号

>>> (3,)
(3,)
>>> (m,)
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    (m,)
NameError: name 'm' is not defined
>>> ("m",)
('m',)
>>> 

2/tuple函数

tuplue(seq) 将seq转化为元组

>>> tuple("hello")
('h', 'e', 'l', 'l', 'o')
>>> tuple(["hello","world"])
('hello', 'world')

3/元组的基本操作

(1)访问元组
通过下标索引来访问元组元素
(2)修改元组
元组中的元素值无法修改,不过可以通过连接组合。(+是连接组合)
(3)删除元组
通过del可以删除整个元组

>>> a=('hello', 'world')
>>> a
('hello', 'world')
>>> a[0]
'hello'
>>> a[1]
'world'
>>> a+("1","am","good")
('hello', 'world', '1', 'am', 'good')
>>> a
('hello', 'world')
>>> del a
>>> a
Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    a
NameError: name 'a' is not defined
>>> 

(4)元组索引/截取
元组也是一个序列,所以可以访问元组中指定位置的元素,也可以截取索引中的一段元素。

>>> b
(1, 2, 3, 4, 5, 6, 7, 7)
>>> b[0:3]
(1, 2, 3)
>>> b[:]
(1, 2, 3, 4, 5, 6, 7, 7)
>>> b[-2:]
(7, 7)

4/元组内置函数

len(tuple) tuple:元组名称
max(tuple) tuple:元组名称
min(tuple) tuple:元组名称
tuple(seq) seq:列表名称

5/列表与元组的区别

元组的元素不可修改,一旦元组初始化就不能修改了。
因为元组不可变,所以代码更安全。所以能用元组代替列表就尽量用元组。
example:

>>> t=('a','b',['A','B'])
>>> t[2][0]='x'
>>> t[2][1]='y'
>>> t
('a', 'b', ['x', 'y'])

example中使用了嵌套,一个元组中包含了另一个列表。也可以称为二维数组。一个单一的列表称为一维数组。还有三维四维等多维数组,不过一般用的少。
二维数组中元素获取方式,t[0]的值’a’
t[1]的值‘b’
t[2] [0] 的值’A’
t[2] [1] 的值’B’
之前说了元组元素不可改变,为什么example中可以赋值改变呢?
表面上看,元组的元素确实变了,其实变得不是元组的元素,而是list列表的元素。元组一开始指向的list列表并没有改变成别的list列表,所以元组的“不变”是指每个元素的指向永远不变,如指向‘a’就不能指向’b’,指向一个list就不能改成指向其他对象,但指向的list列表本身是可变的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值