鱼C论坛

 找回密码
 立即注册
查看: 1894|回复: 0

[技术交流] 《零基础入门学习python》第十三讲笔记:元组:戴上了枷锁的列表

[复制链接]
发表于 2017-7-18 20:56:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bozhen 于 2017-7-18 20:58 编辑

元组和列表是近亲关系,在实际使用上是非常相似的。

元组和列表的最大区别是:列表能任意修改其中的元素,任意插入或删除,而元组则不行,一旦定义则不可改变。
>>> tuple1 = (1,2,3,4,5,6,7,8)   # 元组创建用一对小括号
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1[2]   #  访问索引值为2的元素
3
>>> tuple1[5:]   # 切片,从索引值为5开始到最后
(6, 7, 8)
>>> tuple1[:5]   # 切片,从开头到索引值为5(不包含索引值为5的元素)
(1, 2, 3, 4, 5)
>>> tuple2 = tuple1[:]   # 复制切片
>>> tuple2
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1[1] = 3   # 报错,不能修改元组里面元素的值
Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    tuple1[1] = 3
TypeError: 'tuple' object does not support item assignment
>>> temp2 = 2 ,3 ,4  # 以,表示是元组类型
>>> type(temp2)
<class 'tuple'>

>>> temp = []  # 创建空列表
>>> type(temp)
<class 'list'>
>>> temp = ()  #创建空元组
>>> type(temp)
<class 'tuple'>
>>> temp = (1,)  # 加逗号,就表示是元组
>>> type(temp)
<class 'tuple'>
>>> temp =(1)  # 没加逗号,就表示是int
>>> type(temp)
<class 'int'>
>>> temp = 1,   # 不加括号,有逗号,依然成立
>>> type(temp)
<class 'tuple'>
>>> 8 * (8)  #  (8) 为int8
64
>>> 8 * (8,)  # (8,) 为touple , *为重复操作符
(8, 8, 8, 8, 8, 8, 8, 8)
>>> temp = ('小甲鱼','黑夜','迷途','小布丁')
>>> temp = temp[:2] + ('怡静',) + temp[2:]   # 在黑夜和迷途之间加上怡静,括号和,必须有
>>> temp
('小甲鱼', '黑夜', '怡静', '迷途', '小布丁')

append()     ---> 在最后增加一个元素
extend()      --->扩展列表(用另一个列表)
count()        --->计算并返回指定元素的数量
remove()      --->删除一个元素
pop()            --->删除并返回最后一个元素
sort()            --->按特定的顺序排序
insert()         --->在指定位置插入一个元素
copy()          ---> 拷贝一个副本
clear()          --->清空所有元素
reserve()       --->原地翻转所有的数据
index()          --->寻找并返回参数的索引值
通过dir(tuple) 查看只有index() 和 count() 适用于元组。

当我们希望数据不被改变时用元组,需要频繁修改则使用列表


元组相关操作符: 拼接(+)  、重复(*)、  in & not in、> >= < <=  ==  != 、not and or

评分

参与人数 1鱼币 +3 收起 理由
小甲鱼 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 13:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表