python列表切片和嵌套列表取值操作

给出列表切片的格式:

[开头元素::步长]  # 输出直到最后一个元素,(最后一个冒号和步长可以省略,下同)
[开头元素:结尾元素(不含):步长]
# 其中,-1表示list最后一个元素

首先来看最简单的单一列表:

a = [1,2,3,4]
a[:]
a[::]
a[:3]
a[1:3:2]
a[3]

输出依次为:

[1,2,3,4]
[1,2,3,4]
[1,2,3]
[2]
4

注意,这里只有最后一个输出是不带[]的,表明只有最后一个输出是元素,其他在切片中只用了:符号的输出均为list,不论是输出是只有一个元素还是多个元素.

下面考虑嵌套list的情况:

a = [[1,2],[3,4]]
a[:][0]
a[0][:]
a[:-1]
a[0][0]

对应输出依次为:

[1,2]
[1,2]
[[1,2]]
1

可以看到实际上每个[]相对于对对应层次的list进行操作,总体规则与单个list一致。

还有一个容易混淆的知识点:for in

>>> a = [[1,2],[3,4]]
>>> b = [x[1] for x in a]
>>> b
[2, 4]

这里的x是a中元素的集合,包括[1,2]和[3,4],所以x[1]即为集合中每一项的序号1元素。

猜你喜欢

转载自blog.csdn.net/weixin_38082364/article/details/79833348