瀋凣
V1
2021/09/12阅读:111主题:极简黑
python笔记13
Python day13
1. 列表
1.1 创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可:
>>> [1,2,3,4,5]
列表的数据项不需要具有相同的类型:
>>> [1,2,3,4,5,"上山打老虎"]
加上变量名
>>> list1 = [1,2,3,4,5,"上山打老虎"]
1.2 访问列表中的元素
序列是 Python 中最基本的数据结构。
Python 有 6 个序列的内置类型,但最常见的是列表
和元组
。
想要遍历整个列表,for
循环就是一个不错的选择:
>>> for each in list1:
print(each)
执行结果:
1
2
3
4
5
上山打老虎
如果我只想访问某一个元素,可以通过下标(索引)的方式来实现。
1.2.1 下标(索引)
索引就像学号,每个人都有唯一的学号与之对应。通过学号就可以找到人。先来的人学号靠前,后来的学号就靠后。
-
列表索引从 0 开始,第二个索引是 1,依此类推。

有了索引之后,我们就可以通过索引的方式访问列表内任意一个元素:
>>> list1[2]
3
>>> list1[6]
'上山打老虎'
但是索引的能力不止于此。当一个列表里的数据很多,多到不知道有多少个时,怎么办呢?
有的同学想到了上节课所学的len()
函数:
>>> length = len(list1)
>>> list1[length - 1]
'上山打老虎'
但这种方法显然是太繁琐了,我们可以试一下反向索引的方式:
-
索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。

有了反向索引,我们就可以快速访问列表靠后的元素:
>>> list1[-1]
'上山打老虎'
>>> list1[-2]
5
1.2.2 列表切片
索引的方式使我们能够快速访问列表里的每一个元素,但是索引一次只能访问一个元素,如果我想一次访问多个元素要怎么办呢?
-
使用下标索引来访问列表中的值,同样你也可以使用方括号 []
的形式截取字符。

-
我们可以指定开头和结尾(前包后不包):
>>> list2 = [0,1,2,3,4,5,6,7,8,9]
>>> list2[0:5]
[0,1,2,3,4]
>>> list2[5:10]
[5,6,7,8,9]
>>> list2[2:-2]
[2,3,4,5,6,7]
-
也可以只指定开头或只指定结尾:
>>> list2[:5]
[0,1,2,3,4]
>>> list2[5:]
[5,6,7,8,9]
-
甚至可以前后都不指定:
>>> list2[:]
[0,1,2,3,4,5,6,7,8,9]
-
还可以像 range()
函数那样指定步长:
>>> list2[::2]
[0,2,4,6,8]
-
还可以倒着来:
>>> list2[::-2]
[9,7,5,3,1]
所以,当我们想倒序输出一个列表就可以这样:
list2[::-1]
[9,8,7,6,5,4,3,2,1,0]
非常优雅~

作者介绍
瀋凣
V1