[Python]元组与列表的区别及内建用法

http://blog.csdn.net/sicofield/article/details/8616188

在Python中元组与列表的区别就是,列表是可变类型而元组是不可变类型。不同的问题对序列的可变性有不同的要求,Python中同时存在元组和列表是必要的。并且元组和列表时可以相互转换的,这主要是因为list()和tuple()内建函数可以处理可迭代对象。顺便提一下,Python中的可变类型为列表和字典,不可变类型为数字,字符串和元组。

因为列表是可变类型,所以列表相对于元组多了一些操作。

OperationResultNotes
s[i]=xitem i of s is replaced byx
s[i:j]=tslice of s fromi toj is replaced by the contents of the iterablet(1)
dels[i:j]same as s[i:j] = []
s[i:j:k]=tthe elements of s[i:j:k] are replaced by those of t(2)
dels[i:j:k]removes the elements of s[i:j:k] from the list
s.append(x)same as s[len(s):len(s)] = [x](3)
s.extend(x)same as s[len(s):len(s)] = x(4)
s.count(x)返回序列中x的个数,该操作元组也有
s.index(x[,i[,j]])return smallest k such thats[k]==x andi<=k<j(5)
s.insert(i,x)same as s[i:i] = [x]
s.pop([i])same as x = s[i];dels[i];returnx(6)
s.remove(x)same as del s[s.index(x)]
s.reverse()reverses the items of s in place
s.sort([func[,key[,reverse]]])sort the items of s in place(7)

Notes:

1.t 必须可迭代

2.t 与被替代部分的长度必须相等

3.在列表末尾添加元素,无论元素类型,当做单个元素来处理。

4.在列表末尾延长列表,x必须可迭代。append与extend的区别如下程序所示:

[python]  view plain copy
  1. >>> a=[1,2,3,4]  
  2. >>> a  
  3. [1234]  
  4. >>> a.append([5,6,7])  
  5. >>> a  
  6. [1234, [567]]  
  7. >>> a.remove(a[-1])  
  8. >>> a  
  9. [1234]  
  10. >>> a.extend((5,6,7))  
  11. >>> a  
  12. [1234567]  
  13. >>> a.extend("567")  
  14. >>> a  
  15. [1234567'5''6''7']  


5.当x不在list中时引发ValueError异常。i,j为可选参数,表示起始与结束位置。

6.只有对列和数组有pop操作,i的默认值是-1,也就是说默认情况下弹出最后一个元素。

7.以指定的方式排序列表中额成员,如果func和key参数指定,则按照指定的方式比较各个元素,如果reverse标志设置为Ture,则列表以反序排列。


一般不该变对象的操作(比如查找类型的),元组和列表是都有的。列举如下:

cmp(),len(),max(),min(),repr(),str(),type(),in,not in,[ ], [: ],* ,+ .

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值