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

python学习(6)数组list和tuple

2016-10-24 09:20 483 查看
数组list和tuple,都是python内置的有序集合

一、list

在python中数组用list表示,数组中的元素类型可以不一致,classmates=['li','yong','fen']作为参照得到的结果

1、数组长度

len(classmates)  //3

len([])  //0

2、索引获取数组中某个元素,当超出索引范围,报IndexError错误。还可以反向取数组中的元素

classmates[2]  //'fen'

classmates[-1]  //'fen'

classmates[-2]  //'yong'

3、末尾添加元素,一次只能添加一个

classmates.append('lili')  //['li','yong','fen','lili']

4、指定位置添加元素

classmates.insert(1,'jack')   //['li','jack','yong','fen']

5、删除末尾一个元素,也可以删除指定位置上的元素,返回删除的元素

classmates.pop('lili')  //['li','yong']

classmates.pop(1)  //['li','fen']

删除指定元素

del classmates(1)//数组变为['li','fen']

6、替换某元素

classmates[1] = 'sasa'  //['li','sasa','fen']

二、tuple元组

tuple一旦初始化就不能修改,只能读取,这样更安全,使用()表示

classmates('li','yong','fen')

1、如果只有一个元素 classmates(1,)

避免与tuple和运算符中的()搞混

2、t=('li','yong',['a','b'])

t[2][0] = 'A'    //('li','yong',['A','b'])

其中说的不变与这里的变,不变的是tuple,变的是list。

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向
'a'
,就不能改成指向
'b'
,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: