元组1:元组基础

目录

1. 元组概述  

2. 元组和列表的不同点  

3. 元组和列表的共同点  

4. 怎样修改元组  

5. 单元素元组

6. 元组切片


1. 元组概述  

一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示;

元组既能像列表那样同时容纳多种类型的对象,也拥有字符串不可变的特性。  

2. 元组和列表的不同点  

  • 列表是使用方括号,元组则是圆括号(也可以不带圆括号)
  • 列表中的元素可以被修改,而元组不行
  • 列表中涉及到修改元素的方法元组均不支持
  • 列表的推导式叫列表推导式,元组的 “推导式” 叫生成器表达式  
#元组赋值可以使用(),也可以不用
s = (2,'7',11.5453)
s
(2, '7', 11.5453)
s = 1,2,3.0,'4','五','six'
s
(1, 2, 3.0, '4', '五', 'six')

#元组可以通过下标获取单个元素
s[0]
1
s[5]
'six'

#元组元素不可以修改
s[1] = 2
Traceback (most recent call last):
  File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3331, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-6-f2266874e093>", line 1, in <module>
    s[1] = 2
TypeError: 'tuple' object does not support item assignment

#元组整体可以修改
s1 = (1,2,3)
s1
(1,2,3)
s1 = (2,3,4)
s1
(2, 3, 4)

3. 元组和列表的共同点  

  • 都可以通过下标获取元素
  • 都支持切片操作
  • 都支持 count() 方法和 index() 方法
  • 都支持拼接(+)和重复(*)运算符
  • 都支持嵌套
  • 都支持迭代

4. 怎样修改元组  

元组中的元素虽然是不可变的,但如果元组中的元素是指向一个可变的列表,那么我们依然是可以修改列表中的内容的。

如下示例:

s = ([1,2,3],[4,5,6])
s[1][1] = 0
s
Out[31]: ([1, 2, 3], [4, 0, 6])

5. 单元素元组

单元素元组必须带“,”否则不成立

#不带,的单元素元组,判断为整型
s = (123)
type(s)
Out[71]: int
s
Out[72]: 123

#带,的单元素元组,判断为元组
s = (123,)
type(s)
Out[74]: tuple
s
Out[75]: (123,)

6. 元组切片

元组支持切片操作,效果和列表一致,参见:列表切片 

但不能对切片做赋值,只能查询。

s = 0,1,2,3,4,5,6,7,8,9
s
Out[13]: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

#做元组s的元素0到2-1切片
s[:2]
Out[15]: (0, 1)

#做元组s的元素3到7-1切片
s[3:7]
Out[16]: (3, 4, 5, 6)

#做元组s的元素1到6-1间隔为3切片
s[1:6:3]
Out[17]: (1, 4)
s[:]
Out[18]: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃烧的火鸟啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值