首页 > 代码库 > Python的数据类型:list和tuple

Python的数据类型:list和tuple

今天开始认真的学习python。

1.list类型

list是python的一种数据类型,它是一种有序列表,可以随时添加和删除其中的元素。

1.1 list类型的特征

  1. list类型内的成员类型可以相同,也可以不同;
  2. list类型的定义:list1=[member1,member2,member3,...];
  3. 可以使用len()函数获取list类型的成员个数;例如:len(list1)
  4. 可以使用索引来访问list类型中的每个成员,索引下标从0开始。下标越界将出错。例如:list1[2]
  5. 如果要访问list类型的最后一个原始,除了使用索引位置外,还可以是用-1作为索引。同理,倒数第二个成员可以用-2作为索引,以此类推。例如在本例中,list1[-1]等价于list1[2]
  6. list内可以嵌套list类型

1.2 可用于list类型的操作(方法)

  1. 追加成员到list末尾:list1.append(member4)
  2. 追加成员到list指定位置:list1.insert(N,member4)
  3. 删除末尾元素:list1.pop()
  4. 删除指定位置的元素:list1.pop(N)

2.tuple类型

tuple是python中的一种数据类型,它也是一种有序列表,与list类型不同的是,tuple类型的成员一旦确定,就不能再被修改了,tuple类型的定义:tuple1=(‘ab‘,‘cd‘,‘ef‘),定义空的tuple类型,可以写成:tuple=()

使用tuple类型的几个示例:

2.1 如果要定义只含有一个成员的tuple类型,如下形式的定义将会产生歧义,将不会得到预期的结果:

>>> tuple1=(1)>>> tuple11

定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有1个元素的tuple定义时必须加一个逗号‘,‘,来消除歧义:

>>> tuple1=(1,)>>> tuple1(1,)

2.2 "可变的"tuple成员,由于之前在tuple类型的定义中说过,tuple的成员一旦确定,就不能修改了,但在下例中:

>>> t=(1,2,[3,4])>>> t(1, 2, [3, 4])>>> t[2][0]=5>>> t[2][1]=6>>> t(1, 2, [5, 6])

从表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

 

Python的数据类型:list和tuple