您的位置:首页 > 编程语言 > Python开发

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

2013-02-27 14:07 489 查看
在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的区别如下程序所示:

>>> a=[1,2,3,4]
>>> a
[1, 2, 3, 4]
>>> a.append([5,6,7])
>>> a
[1, 2, 3, 4, [5, 6, 7]]
>>> a.remove(a[-1])
>>> a
[1, 2, 3, 4]
>>> a.extend((5,6,7))
>>> a
[1, 2, 3, 4, 5, 6, 7]
>>> a.extend("567")
>>> a
[1, 2, 3, 4, 5, 6, 7, '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,[ ], [: ],* ,+ .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: