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

Python序列:字符串、列表和元组(三)

2016-10-30 00:36 363 查看
  上一篇介绍了序列类型中的字符串,列表和元组很像,只不过元组是不可变的,可以理解为只读,而列表是可变的。所以本片列表和元组一并总结了(主要还是比较懒)。

列表

创建

用赋值语句创建。

使用工厂函数list()创建。

访问

通过切片操作符[]和索引值或者索引范围访问。

更新

指定索引值或者索引范围用赋值语句更新。

使用append()方法追加。

删除

del list[index] 删除索引值或者范围,无返回值。

list.remove(obj) 删除列表中的具体值,返回删除后的list。

list.pop(index) 删除索引值对应的obj,返回删除的obj。

列表类型的内建函数

列表函数作用
list.append(obj)
向列表中添加一个对象obj。
list.count(obj)
返回一个对象obj在列表中出现的次数。
list.extend(seq)
把序列seq的内容添加到列表中。
list.index(obj,i=0,j=len(list)
返回list[k]=obj的k值,并且k在[i,j)的范围内,否则应发ValueError异常。
list.insert(index,obj)
在索引量为index的位置插入对象obj。
list.pop(index=-1)
删除并返回指定位置的对象,默认是最后一个对象。
list.remove(obj)
从列表中删除对象obj。
list.reverse()
反转列表。
list.sort(func=None,key=None,reverse=False)
以指定的方式排序列表中的成员,如果reverse标志被设置为True,则列表以反序排列。
注意:

  在执行对象的方法,如sort(),extend(),reverse()的时候,原列表的内容会被修改,但是没有返回值!如果需要返回值需要使用内建函数reversed()和sorted()。

>>> music_media = ['compact disc',45,'8-track tape','long playing record']
>>> music_media.sort()
>>>
>>> music_media
[45, '8-track tape', 'compact disc', 'long playing record']
>>> music_media.reverse()
>>>
>>> music_media
['long playing record', 'compact disc', '8-track tape', 45]


可以使用列表构建其他的数据结构(通过extend和pop):

堆栈:后进先出(LIFO)的数据结构。

队列:先进先出(FIFO)的数据结构。

元组

  元组是不可变的类型,因此可以用来做字典的key。

  元组与列表有着相当多的共同之处,以下主要列出一些不一样的地方。

元组是默认集合类型

  所有的多对象的,逗号分割的,没有明确用符号定义的,这些集合默认的类型都是元组。

>>> 'abc',-4.24e93,18+6.6j,'xyz'
('abc', -4.24e+93, (18+6.6j), 'xyz')
>>> x,y = 1,2
>>> x,y
(1,
9bca
2)


注意:圆括号被重载分组操作符,所以在创建只有一个元素的元组时,需要在第一个元组后面添加一个逗号(,)来表明这是一个元组而不是在做分组操作。

>>> ('luozhi')
'luozhi'
>>>
>>> type(('luozhi'))
<type 'str'>
>>>
>>> ('luozhi',)
('luozhi',)
>>>
>>> type(('luozhi',))
<type 'tuple'>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: