从零学python第二期:列表和元组

数据结构。数据结构是以某种方式(如通过编号)组合起来的数据 元素(如数、字符乃至其他数据结构)集合。在Python中,最基本的数据结构为序列(sequence)。 序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引 为1,依此类推。

先介绍两种常用的:列表和元组(元组与列表类似,区别在元组的元素不能修改)

列表用方括号,元组用小括号

创建一个列表

>>> lst=['aw','qwe',1,200,[1,2]]

['aw', 'qwe', 1, 200, [1, 2]]

可以发现列表里面的元素不需要相同类型。

有几种操作适用于所有序列,包括索引、切片、相加、相乘和成员资格检查

索引:序列中的所有元素都有编号——从0开始递增(也可以从右往左 ,从-1开始)

>>> lst[0]

'aw'

>>> lst[1]

'qwe'

>>> lst[-1]

[1, 2]

切片:可使用切片来访问特定范围内的元素,(第一个索引指定的元素包含在切片内,

但第二个索引指定的元素不包含在切片内)

>>> lst=['aw','qwe',1,200,[1,2]]

>>> lst[2:5]

[1, 200, [1, 2]]

>>> lst[2:-1]

[1, 200]

>>> lst[-3:0]

[]

这里注意:第一个索引指定的元素位于第二个索 引指定的元素后面(在这里,倒数第3个元素位于第1个元素后面),结果就为空序列。

到序列末尾可以这样写lst[-3:]

从第一个开始:lst[:3]

全部: lst[:]

另外切片的时候可以指定步长,例如:

>>> lst[0:5:1]

['aw', 'qwe', 1, 200, [1, 2]]

>>> lst[0:5:2] (还可以这样写lst[::2],结果一样)

['aw', 1, [1, 2]]

注意:步长不能为0,可以为负数,即从右向左提取元素

>>> lst[5:0:-1]

[[1, 2], 200, 1, 'qwe']

>>> lst[::-1]

[[1, 2], 200, 1, 'qwe', 'aw']

相加:可使用加法运算符来拼接序列

>>> [1,2,3]+['a','b','c']

[1, 2, 3, 'a', 'b', 'c']

相乘:

>>> ['python']*3

['python', 'python', 'python']

>>> [None]*3

[None, None, None]

None表示什么 都没有

成员资格检查:要检查特定的值是否包含在序列中,可使用运算符in.返回布尔值True和False

>>> lst=['aw', 'qwe', 1, 200, [1, 2]]

>>> 'aw' in lst

True

>>> 'aa' in lst

False

还有内置函数长度,最大,最小:len() ,max(), min()

以下是基本的列表操作

list()函数,可以将字符串转为列表,

>>> list('python')

['p', 'y', 't', 'h', 'o', 'n’]

请注意,可将任何序列(而不仅仅是字符串)作为list的参数。

修改

>>> lst[1]='python'

['aw', 'python', 1, 200, [1, 2]]

删除

>>> del lst[1]

['aw', 1, 200, [1, 2]]

切片

>>> name=['P', 'e', 'r', 'l']

>>> name[2:] = list('ar’)

['P', 'e', 'a', 'r’]

>>> name[1:] = list('ython’)

['P', 'y', 't', 'h', 'o', 'n’]

还可以用来插入一个元素

>>> numbers = [1, 5]

>>> numbers[1:1] = [2, 3, 4]

>>> numbers

[1, 2, 3, 4, 5]

列表还有以下常用方法:

append添加元素

clear清空

copy复制

count计算元素出现次数

extend拼接列表

index方法index在列表中查找指定值第一次出现的索引。

insert插入

pop列表中删除一个元素(默认为最后一个元素),并返回这一元素

注意: pop是唯一既修改列表又返回一个非None值的列表方法

remove删除

reverse相反的顺序排列列表中的元素

sort用于对列表就地排序

元组

元组:与列表一样,元组也是序列,唯一的差别在于元组是不能修改

>>>(1, 2, 3)输出:(1, 2, 3)

函数tuple将序列转换为元组

>>> tuple([1, 2, 3])

(1, 2, 3)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181220G19RVO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券