零基础学PythonDay5 Python基本数据类型之List

Posted 光于前裕于后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学PythonDay5 Python基本数据类型之List相关的知识,希望对你有一定的参考价值。

昨天跟大家一起学习了 Python基本数据类型之Number,没学的兄弟姐妹们看这里【零基础学Python】Day4 Python基本数据类型之String,今天让我们开始学习Python基本数据类型列表List吧。
需注意的是,【零基础学Python】此系列都使用Python3。


Python3 中有6个基本的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

而这6个基本的数据类型又可划分为两类,可变数据类型和不可变数据类型,见下:

  • 不可变数据类型:Number(数字)、String(字符串)、Tuple(元组)
  • 可变数据类型:List(列表)、Dictionary(字典)、Set(集合)

List

在Python中,List(列表)是使用最频繁的数据类型,它可以存储数字、字符串甚至它自己(嵌套)。列表的定义也非常简单,使用方括号[]括起来就行,里面的元素用逗号分开。

>>> heidou = ['老邓','盖亚','长沙凯子王']
>>> print(heidou)
['老邓', '盖亚', '长沙凯子王']

上面打印的是列表,如果要打印列表中的元素,需使用for循环

>>> heidou = ['老邓','盖亚','长沙凯子王']
>>> for waihao in heidou:
...  print(waihao)
...
老邓
盖亚
长沙凯子王

如果要截取列表,和截取字符串一样,使用[头下标:尾下标],索引值也是以0开始,-1倒数第一。

比如现在要取出盖亚

>>> heidou = ['老邓','盖亚','长沙凯子王']
>>> print(heidou[1])
盖亚

注意只写一个索引值是取出对应的元素,’盖亚‘是字符串,而写两个时,是截取的列表,数据类型也是列表。

>>> heidou = ['老邓','盖亚','长沙凯子王']
>>> print(heidou[1])
盖亚
>>> print(type(heidou[1]))
<class 'str'>
>>> print(type(heidou[1:-1]))
<class 'list'>
>>> print(heidou[1:-1])
['盖亚']

还可以写三个,当[]中有三个参数时,那就变成了[头下标:尾下标:步长],所谓步长就是隔几个取。

>>> num = ['1','2','3','4','5','6','7']
>>> print(num[0:7:3])
['1', '4', '7']

上面是步长是3,就是隔三个取一个,当最后的参数为-1时, 就变成了倒着取,字符串也是一样,有一个很常见的面试题就是反转列表/字符串,知道这个之后,5秒就可以解决。

>>> print(num[::-1])
['7', '6', '5', '4', '3', '2', '1']
>>> print(num[-1::-1]) # 开头的-1写不写都行
['7', '6', '5', '4', '3', '2', '1']
>>> a = '12345'
>>> a[::-1]
'54321'

兄弟姐妹们,还记得上面写的可变数据类型和不可变数据类型吗,列表List属于可变数据类型,字符串String是不可变的,区别就在于列表是可变的,见下:

# 这里我可以把列表heidou中的盖亚替换成黑豆,而String一旦定义,无法修改。
>>> heidou = ['老邓','盖亚','长沙凯子王']
>>> print(heidou)
['老邓', '盖亚', '长沙凯子王']
>>> heidou[1] = '黑豆'
>>> print(heidou)
['老邓', '黑豆', '长沙凯子王']

这时候,聪明的兄弟姐妹可能会问了,List作为可变数据类型,是不是也能增删呢?确实可以,上面改查已经讲过了,下面说一下怎么增删。

>>> print(num+num[::-1]) # 如果都是list,使用+即可
['1', '2', '3', '4', '5', '6', '7', '7', '6', '5', '4', '3', '2', '1']
>>> num = ['1','2','3','4','5','6','7']
>>> num.append(8) # 如果要加别的元素,需使用append()方法
>>> print(num)
['1', '2', '3', '4', '5', '6', '7', 8] # 可以看到列表是可以存储不同类型,8是数字类型
>>> num.remove('4') # 直接删指定元素,会删掉第一个匹配到的
>>> print(num)
['1', '2', '3', '5', '6', '7', 8]
>>> del num[2] # 删掉索引为2的元素3
>>> print(num)
['1', '2', '5', '6', '7', 8]


列表还有上述的函数和方法,之后会讲到,兄弟姐妹们学废了吗。

以上是关于零基础学PythonDay5 Python基本数据类型之List的主要内容,如果未能解决你的问题,请参考以下文章

零基础学PythonDay4 Python基本数据类型之String

零基础学PythonDay8 Python基本数据类型之Dictionary

零基础学PythonDay8 Python基本数据类型之Dictionary

零基础学PythonDay7 Python基本数据类型之Set

零基础学PythonDay7 Python基本数据类型之Set

零基础学PythonDay6 Python基本数据类型之Tuple