Loading...
墨滴

瀋凣

2021/09/12  阅读:67  主题:极简黑

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]

非常优雅~

点点关注不迷路
点点关注不迷路
- END -

瀋凣

2021/09/12  阅读:67  主题:极简黑

作者介绍

瀋凣