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

python list(列表)和tuple(元组)

2016-07-19 10:40 302 查看

[b]介绍[/b]

python中存在两种有序的类型列表,分别是list(列表)和tuple(元组)。list可变、tuple不可变。

[b]一、list[]列表[/b]

为什么说list是可变的元素列表,因为在定义完list列表之后,还可以对列表中的元素值进行修改、增加或删除元素;同时list是一个有序的集合,注意列表和数组一样索引也是从0开始。

1.定义list列表

name=['a','b',3]


2.获取list的值

>>> name[0]
'a'
>>> name[1]
'b'
>>> name[2]
3

>>> name[-1]
3
>>> name[-2]
'b'

3.获取列表的长度

>>> len(name)
3


4.修改列表元素的值

>>> name[0]=1
>>> name
[1, 'b', 3]


将列表的第一个元素的值修改为1

5.增加元素

>>> name.append('4')
>>> name
[1, 'b', 3, '4']


append方法默认在列表末尾增加元素

在指定位置增加元素

>>> name.insert(1,'中')
>>> name
[1, '中', 'b', 3, '4']


可以使用insert在指定的位置增加元素

6.删除元素

删除末尾元素

>>> name.pop()
'4'
>>> name
[1, '中', 'b', 3]


删除指定元素

>>> name.pop(3)
3
>>> name
[1, '中', 'b']


6.列表中包含列表

>>> name.insert(1,['明','天'])
>>> name
[1, ['明', '天'], '中', 'b']


返回元素'天'

>>> name[1][1]
'天'


[b]二、tuple()列表[/b]

tuple也是一种有序的列表,但是它一旦定义了就无法更改,你也可以用获取LIST元素的方法获取tuple元素,但是不能使用append、pop、insert等方法修改元组。

1.定义元组

>>> tu=('a','b','c',4)
>>> tu
('a', 'b', 'c', 4)


2.获取元素

>>> tu[0]
'a'
>>> tu[-1]
4


3.当对元素的值进行修改时失败

>>> tu[0]='1'
Traceback (most recent call last):
File "<pyshell#74>", line 1, in <module>
tu[0]='1'
TypeError: 'tuple' object does not support item assignment


4.定义一个空的tuple

>>> t=()
>>> t
()


5.定义一个元素的tuple

>>> t=(1,)
>>> t
(1,)


注意:1后面需要加逗号,否则会被解析成数学表达式的括号等于1,例如:

>>> x=(1)
>>> x
1


它不是元组,只能算是一个赋值操作了

6.定义"可变"的tuple

注意这里的可变的意思需要特别理解,这里的可变不是tuple的元素,而是元素内才元素

>>> tlist=('a','b',['c','d'])
>>> tlist
('a', 'b', ['c', 'd'])


修改元素“['c','d']”列表中的值、

>>> tlist[2][0]='x'
>>> tlist[2][1]='y'
>>> tlist
('a', 'b', ['x', 'y'])
>>>


对于tuple来说它只能保证它括号内的基本元素不变,但是元素内在值不在限制内,例如上面的列子tlist有三个元素分别是:'a','b','[]',而元素'[]'是一个列表,它包含值'c','d',所以元素列表'[]'的值不在tuple的限制之内了。

[b]总结[/b]

在面向对象的语言里,所有元素的都称为对象,所以list和tuple都是对象;而list是可变对象,tuple是不可变对象(前提tuple中不能存在list)。

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

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