Python序列:字符串、列表和元组(三)
2016-10-30 00:36
363 查看
上一篇介绍了序列类型中的字符串,列表和元组很像,只不过元组是不可变的,可以理解为只读,而列表是可变的。所以本片列表和元组一并总结了(主要还是比较懒)。
列表
创建
用赋值语句创建。
使用工厂函数list()创建。
访问
通过切片操作符[]和索引值或者索引范围访问。
更新
指定索引值或者索引范围用赋值语句更新。
使用append()方法追加。
删除
del list[index] 删除索引值或者范围,无返回值。
list.remove(obj) 删除列表中的具体值,返回删除后的list。
list.pop(index) 删除索引值对应的obj,返回删除的obj。
列表类型的内建函数
注意:
在执行对象的方法,如sort(),extend(),reverse()的时候,原列表的内容会被修改,但是没有返回值!如果需要返回值需要使用内建函数reversed()和sorted()。
可以使用列表构建其他的数据结构(通过extend和pop):
堆栈:后进先出(LIFO)的数据结构。
队列:先进先出(FIFO)的数据结构。
元组
元组是不可变的类型,因此可以用来做字典的key。
元组与列表有着相当多的共同之处,以下主要列出一些不一样的地方。
元组是默认集合类型
所有的多对象的,逗号分割的,没有明确用符号定义的,这些集合默认的类型都是元组。
注意:圆括号被重载分组操作符,所以在创建只有一个元素的元组时,需要在第一个元组后面添加一个逗号(,)来表明这是一个元组而不是在做分组操作。
列表
创建
用赋值语句创建。
使用工厂函数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'>
相关文章推荐
- python 序列:字符串、列表和元组
- Python基础系列----序列(列表、元组、字符串)
- <PY><core python programming笔记>C6 序列:字符串和列表和元组(一)
- python--序列的基本概念和操作(序列:列表、元组、字符串)
- Python入门笔记2 序列(字符串、元组、列表)
- python的列表,元组,字典,序列,字符串的简单解说
- python核心编程学习记录之序列(字符串元组列表)
- Python序列:字符串、列表和元组
- python序列:字符串,元组和列表
- <PY><core python programming笔记>C6 序列:字符串和列表和元组(二)
- Python 核心编程笔记_Chapter_6_Note_1 序列_字符串_列表_元组
- Python数据类型——序列(字符串,列表,元组)
- <PY><core python programming笔记>C6 序列:字符串和列表和元组(三)
- Python学习笔记《Python核心编程》第6章 序列:字符串、列表、元组
- python:序列:字符串,列表,元组
- Python核心编程 6.序列:字符串、列表和元组
- 《python核心编程》序列:字符串、列表和元组Python: Attribute Error - 'NoneType' object has no attribute
- [Language]Python序列--字符串和列表和元组
- 【人生苦短,我用Python】Python免费精品课连载(2)——序列、列表、元组与字符串
- Python序列:字符串、列表和元组(一)