鱼C论坛

 找回密码
 立即注册
查看: 2310|回复: 10

元组与列表

[复制链接]
发表于 2017-8-20 10:09:39 | 显示全部楼层 |阅读模式

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

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

x
元组对象是不是没有添加append,删除del之类的?那元组比列表有什么优势啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-20 10:27:32 | 显示全部楼层
元组和列表在实际使用上是非常相似的。
区别:元组不能修改
在不需要修改的时候就用元组咯。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 10:39:09 | 显示全部楼层
元组的速度快,不能被修改形成了一种保护机制,避免数据被无意修改。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 11:02:01 | 显示全部楼层
优势吗?应该速度更快吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-20 11:50:21 | 显示全部楼层
ba21 发表于 2017-8-20 10:27
元组和列表在实际使用上是非常相似的。
区别:元组不能修改
在不需要修改的时候就用元组咯。

我想问的是,是不是元组没有append之类的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 12:02:37 | 显示全部楼层
本帖最后由 3456589807 于 2017-8-20 12:04 编辑

是的  没有append 但何以使用切片再拼接的方式  (:) +(:)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 12:15:17 | 显示全部楼层
我的天哪... 发表于 2017-8-20 11:50
我想问的是,是不是元组没有append之类的

是呀
元组一旦创建之后就不可更改了,所以append  insert del等修改的方法都是不可用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 12:18:31 | 显示全部楼层
我的天哪... 发表于 2017-8-20 11:50
我想问的是,是不是元组没有append之类的

这不明摆的不,不能修改又怎么会有append的方法?

楼上说的切片再拼接的方式 也是用老的元组重新生成另一个新的元组。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-22 22:04:52 | 显示全部楼层
这是他们分别的用法
列表:
append() 在最后增加一个元素
extend()扩展列表(用另一个列表)
count()计算并返回指定元素的数量
remove()删除一个元素
pop()删除并返回最后一个元素
sort()按特定顺序排列(从小到大)
insert()在指定位置插入一个元素
copy()拷贝一个副本
clear()清空所有元素
reverse()原地翻转所有元素
index()寻找并返回参数的索引值
元组:
count()计算并返回指定元素的数量
index()寻找并返回参数的索引值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-22 22:08:56 | 显示全部楼层
顺便附上:
学习Python的list,tuple,dict,set的时候被插入和删除的用法弄得有点晕,所以进行归纳,以便记忆
对于List:
classmates = ['Michael', 'Bob', 'Tracy']  
classmates.append('Adam')    //添加在末尾,没有add()方法  
classmates.insert(1, 'Jack') //在指定位置添加  
classmates.pop(1)            //在知道位置删除,参数是索引  
del classmate[1]             //删除第二个元素  
classmates.remove('Bob')     //参数是元素,删除第一个与Bob值匹配的元素,之后又相同元素不会删除  

对于dict:
d = {'a': 'A', 'b': 'B'}  
del d['a']  
d.pop('a')    //参数是key,没有remove()方法  
d['c']='C';   //插入直接赋值即可  
对于set:
s={1,2,3}       //set对象的创建也可以是s=set(iterable)  
s.add(8)        //添加8到末尾   没有append()方法  
s.remove(8)     //参数是元素,不是索引    删除8     
s.pop()         //删除最后一个元素  

对于tuple:
由于tuple一旦初始化就不能修改,所以不能插入和删除
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-25 07:59:47 | 显示全部楼层
元组没有append之类的,因为它不可修改,这保证了它的安全性。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-24 14:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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