码迷,mamicode.com
首页 > 编程语言 > 详细

【Python⑤】python序列---list和tuple

时间:2014-08-27 12:47:08      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   strong   数据   div   代码   log   

sequence 序列

 

sequence(序列)是一组有顺序的对象的集合。序列可以包含一个或多个元素,也可以没有任何元素。

我们之前所说的基本数据类型,都可以作为序列的对象。对象还可以是另一个序列。序列有两种:list (表) 和 tuple(元组) 。

list和tuple的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

List

获得list元素的个数:

 

>>> lst=[更新慢,python,5.44,False]
>>> len(lst)
4

 

 

引用访问时索引是从0开始,注意不要越界:

>>> lst[0]
更新慢
>>> lst[1]
python
>>> lst[2]
5.44
>>> lst[3]
False
>>> lst[4]
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    lst[4]
IndexError: list index out of range

 

-1做索引,直接获取最后一个元素:

>>> lst[-1]
False
>>> lst[-2]
5.44
>>> lst[-3]
python
>>> lst[-4]
更新慢
>>> lst[-5]
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    lst[-5]
IndexError: list index out of range

 

因为list是一个可变的有序表,所以,可以往list末尾追加元素:

>>> lst.append(加我一个)
>>> lst
[更新慢, python, 5.44, False, 加我一个]

 

一次追加多个元素:

>>> lst.extend([A,B,C])
>>> lst
[更新慢, python, 5.44, False, 加我一个, A, B, C]

 

要删除list末尾的元素,用pop()方法:

>>> lst.pop()
C
>>> lst
[更新慢, python, 5.44, False, 加我一个, A, B]

 

删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> lst.pop(0)
更新慢
>>> lst
[python, 5.44, False, 加我一个, A]

 

list元素替换,可以直接赋值给对应的索引位置:

>>> lst[-1]=100
>>> lst
[python, 5.44, False, 加我一个, 100]

 

list元素也可以是另一个list,插入的那个list只算一个元素:

>>> lst.append(lst1)
>>> lst
[python, 5.44, False, 加我一个, 100, [666, QWER]]
>>> len(lst)
6

Tuple

Tuple一旦初始化就不能修改。字符串是一种特殊的元素,因此可以执行元组的相关操作。

 

>>> str=该睡觉了,晚安!
>>> print (str[:7])
该睡觉了,晚安

 

不可变的tuple意义就在于因为不可变,所以代码更安全。如果可能,能用tuple就尽量用tuple。

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

 

定义一个空tuple:

>>> tuple1=()
>>> tuple1
()

注意,要定义一个只有1个元素的tuple:

>>> tuple2=(666,)
>>> tuple2
(666,)              #正确的
>>> tuple3=(666)
>>> tuple3
666                 #错误的,只定义了666这个数

 

注意:Tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

 

>>> l=[CCTV-5,HI]
>>> tuple4=(UFO,HACK,l)
>>> tuple4
(UFO, HACK, [CCTV-5, HI])
>>> l[1]=我先变一下
>>> tuple4
(UFO, HACK, [CCTV-5, 我先变一下])

 

所以尽量避免这种套用。

 

当日小结

掌握List和Tuple的常用方法以及注意事项。

 

【Python⑤】python序列---list和tuple

标签:style   blog   color   os   strong   数据   div   代码   log   

原文地址:http://www.cnblogs.com/GoGoing/p/3938974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!