python学习之List和Tuple
2015-06-07 10:47
609 查看
python学习之List和Tuple
前言
在编程的过程中,有一类数据结构我们将它们称为容器,其被用来保存一系列的数据元素。在C++中,我们为了保存不同类型的对象,我们需要为他们基类。但是在python中,这些都可以免了,python是动态语言,其自动识别。List
list是python内置的一种数据类型,称之为列表,是一种有序的集合,可以向其中添加和删除其中的元素。比如,我们有一个整数list
int_list = [1, 3, 4, 5] print int_list
构建一个list很简单,直接使用
[]将需要放到其中的元素括起来就可以了,这样就构建了一个list对象,然后你可以将其赋值给一个变量,然后我们通过这个变量就可以引用这个list。
list是有序的集合,我们可以通过类似于C中数据的方式来取出对应的元素。
int_list = [1, 3, 4, 5] print int_list[0], int_list[1], int_list[-1]
与C语言不同的是,我们可以使用负数,那么就是从list尾开始。
python是动态语言,那么在list中的类型不受必须是同一类型的约束。
L = ['zhouxiang ', 1314, ' love ', ' chenchen'] print L
list可以是空的。
empty_l = []
list有一个方法
append(),其可以在list尾追加一个元素。
L = ['zhouxiang ', 1314, ' love ', ' chenchen'] L.append('forever') print L
如果我们想将其放入list中的特定的位置,那么就使用
insert()方法,其接受两个参数,第一个为插入位置的索引号,第二个为元素。比如
i = [1, 2, 3,4] i.insert(0, 0) print i
其插入在1的位置,那么其后都向后退一个位置,新的list为
[0, 1, 2, 3, 4]
list中的元素现在有些不需要了,那可以使用
pop()方法。其无参数调用时,总是删除最后一个元素,如果希望指定删除,那么就将索引号传给它,逆序也是可以的。
NOTE
在pop的时候,这样
i = [1, 2, 3, 4] i.pop(0) i.pop(1) print i
你其实想删除1和2,但是错了,
i.pop(0)执行完后,list已经变化了,那么你在
i.pop(1),删除的只能是3。
更新指定位置的元素,直接使用索引号取出,然后赋值即可。
i = [1, 2, 3, 4] i[0] = -1 print i
Tuple
tuple是另一种有序的列表,中文翻译为* 元组 *。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。list构建使用
[],而tuple使用
()。
tt = ('zhouxiang', 'chenchen') print tt
tuple相当于C++中的const std::list,不能删,不能加,只能读。其访问和list一样,使用下标索引访问,当然也支持逆序。
空tuple构建类似与list
t = ()
创建一个元素的tuple时不能想这样
t = (1) print t
这样只是整数1,这是python解析器,没有把其作为一个tuple而是一个运算符来解析。为了消除歧义,Python 规定,单元素tuple要多加一个逗号“,”,这样就避免了歧义:
t = (1,) print t
相关文章推荐
- 初识Python
- Python面向对象编程基础
- python 2 给我自己看
- python中的下划线
- python学习笔记glob模块
- ThinkPython总结
- 使用python+selenium爬取学生信息并入库
- Python 中的struct
- python和numpy的版本、安装位置
- 设计模式(python)-观察者
- python对多个数据库执行mysql的source命令
- Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
- Python:正则表达式re模块
- 使用pyinstaller打包python为exe文件
- Python Path Discussion
- 【PYTHON】对整个文件进行正则表达式匹配
- python绘图中使用公式时,解决\frac{}{}出来的字体太小的问题
- Python虚拟环境virtualenv
- Python打包为exe使用py2exe时中文乱码问题
- 安装python爬虫scrapy踩过的那些坑和编程外的思考