Python学习-第二章 列表和元组

列表和元组

在Python中,最基本的数据结构为序列。
Python内置了多种序列,最常用的两种:列表和元组。
列表和元组的主要不同在于,列表是可以修改的,而元组不可以。
对于切片的理解:

>>> numbers=[1,2,3,4,5,6,7,8,9,10]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[-3:-1]
[8, 9]
>>> numbers[-3:0]
[]

你提供两个索引来指定切片的边界,其中一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内。
如果第一个索引指定的元素位于第二个索引指定的元素后面,结果就为空序列。
在步长为负数时,第一个索引必须比第二个索引大。

>>> numbers[8:3:-1]
[9, 8, 7, 6, 5]

可以使用加法运算来拼接序列但是不能拼接列表和字符串。

>>> 'Hello'+'world'
'Helloworld'
>>> [1,2,3,4]+[5,6,7,8]
[1, 2, 3, 4, 5, 6, 7, 8]

序列与数x相乘时,将重复这个序列x次来创建一个新的序列。
要将字符列表转换为字符串,可使用下面的表达式.join(somelist)
其中somelist是要转换的列表。
方法copy复制列表

>>> a=[1,2,3]
>>> b=a
>>> b[1]=4
>>> a
[1, 4, 3]
要让a和b指向不同的列表,就必须将b关联到a的副本。
>>> a=[1,2,3]
>>> b=a.copy()
>>> b[1]=4
>>> a
[1, 2, 3]

方法count计算指定的元素在列表中出现了多少次。

>>> x=[[1,2],1,1,[2,1,[1,2]]]
>>> x.count(1)
2
>>> x.count([1,2])
1

方法extend能够同时吉桑多个值附加到列表末尾,为此可将这些值组成的序列作为参数提供给方法extend。

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

方法pop从列表中删除一个元素(末尾为最后一个元素),并返回这一元素。

>>> x=[1,2,3]
>>> x.pop()
3
>>> x.pop(0)
1
>>> x
[2]

方法reverse按相反的顺序排列列表中的元素。

>>> x=[1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]

方法sort用于对列表就地排序。方法sort接受两个可选参数:key和reverse。参数key类似于参数cmp:你将其设置为一个用于排序的函数。参数reverse,只需将其指定为一个真值,以指出是否要按相反的顺序对列表进行排序。

>>> x=[4,6,1,9,3,7]
>>> x.sort()
>>> x
[1, 3, 4, 6, 7, 9]

>>> x=['aardvark','abalone','acme','add','aerate']
>>> x.sort(key=len)
>>> x
['add', 'acme', 'aerate', 'abalone', 'aardvark']

>>> x=[4,6,2,1,7,9]
>>> x.sort(reverse=True)
>>> x
[9, 7, 6, 4, 2, 1]

如果只包含一个值的元组则必须在它后面加上逗号。若果不加还是返回一个数值。

>>> 42
42
>>> 42,
(42,)

>>> 3*(40+2)
126
>>> 3*(40+2,)
(42, 42, 42)

函数tuple的工作原理与list很像:它将一个序列作为参数,并将其转换为元组。如果参数已经是元组,就原封不动地返回它。

>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')

猜你喜欢

转载自blog.csdn.net/weixin_43340018/article/details/83041615
今日推荐