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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: