Python数据类型(2)列表和元组

列表和元组

列表和元组都属于序列类型(sequence)。序列对象中的元素都是有序存放的,可以通过编号访问其元素。两者最大的区别在于列表是一种可变序列支持修改其元素,而元组是一种不可变序列,不能修改其元素。


列表

列表(list)是一种可变序列。列表用方括号定义,元素间用逗号隔开。列表的元素可以是任意的数据类型(数字字符串,列表,元组,字典,都可以作为其元素)。

 列表的定义

>>> list1=['a','b','c','d','e','f']
>>> list1
['a', 'b', 'c', 'd', 'e', 'f']
>>> list2=[1,2,3,'a','efg']
>>> list2
[1, 2, 3, 'a', 'efg']

这里说明list1的元素与位置编号的关系

正位置编号       0     1     2     3     4     5

列表元素           a     b     c     d     e      f

负位置编号       -6    -5   -4    -3    -2    -1    

列表的简单操作(更多操作放在序列通用操作中演示)

>>> list1[5]               #正数索引
'f'
>>> list1[-1]              #负数索引
'f'
>>> list3=list1+list2      #列表相加
>>> list3
['a', 'b', 'c', 'd', 'e', 'f', 1, 2, 3, 'a', 'efg']
>>> list4=[list1,list2]    #列表的嵌套
>>> list4
[['a', 'b', 'c', 'd', 'e', 'f'], [1, 2, 3, 'a', 'efg']]
>>> list4[1][4]            #索引嵌套列表元素
>>> list1[0]=1             #修改列表元素(前面说过列表元素是可变的)
>>> list1
[1, 'b', 'c', 'd', 'e', 'f']
'efg'

元组

元组(tuple)是一种不可变序列类型。元组用圆括号定义,元素间用逗号隔开。再不引起语法错误的前提下,一组用逗号隔开的值,系统默认创建元组。或者说元组的定义可以没有圆括号。

元组的创建

>>> tuple1=('a','b','c','d')   #圆括号定义元组
>>> tuple1
('a', 'b', 'c', 'd')
>>> tuple2=1,2,'a'             #系统默认定义元组
>>> tuple2
(1, 2, 'a')

元组的简单操作

>>> tuple2[1]             #元组元素的引用
2
>>> tuple3=tuple1+tuple2  #元组元素相加
>>> tuple3
('a', 'b', 'c', 'd', 1, 2, 'a')
>>> tuple1[2]=1           #企图改变元组的元素,元组是不可变的序列因此会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

参考文献:秦颖.Python实用教程.北京:清华大学出版社,2016.

猜你喜欢

转载自blog.csdn.net/Bei_xifen/article/details/83928396