一起划水

我们之前接触到的变量类型都只能存储一个变量,如果有多个变量需要被存储的话,我们可以使用列表进行处理。

零、目标


1.介绍列表

2.对列表进行操作

3.内置函数介绍

一、介绍列表


列表是最常见的Python数据类型,列表的数据项不需要相同的类型。

此处的列表类似于其他语言的数组,但是功能上要强大很多。

创建一个列表,只需要把用逗号分割开的不同数据项用方括号括起来即可。

[1, 2, 3, True, "huaji", 3.14]

列表的索引从0开始(即第一个元素的下标是0)。

列表也可以进行切片、索引和组合等操作。

二、对列表进行操作


1.访问列表中的值

使用下标索引来访问列表中的值。

python列表使用练习 python列表基础_python列表使用练习

2.更新列表/修改列表元素的值

使用赋值符号对列表元素进行修改。

python列表使用练习 python列表基础_python列表使用练习_02

3.删除列表元素

    a.使用del语句删除列表元素

       这里注意del语句的语法是del sth,并不像函数或方法那样有对小括号。

python列表使用练习 python列表基础_python列表使用练习_03

       你也可以用del删除整个list。


python列表使用练习 python列表基础_python列表使用练习_04

       这里使用List作为变量名的原因是list在Python中是数据类型的名称,就像int和float一样,直接作为示例,print出来的结果会奇奇怪怪的。

python列表使用练习 python列表基础_python 嵌套insert_05

    b.使用remove()方法删除元素


python列表使用练习 python列表基础_python列表使用练习_06

       remove()方法的用法是a.b()型的,a是要操作的对象,b是操作的方法,括号内是操作的参数。

    c.使用pop()方法删除指定位置元素

       在使用的时候需要直接指定元素下标,不指定的时候直接删除最后一个元素。

       也是按照a.b的形式使用。

python列表使用练习 python列表基础_python 嵌套insert_07

python列表使用练习 python列表基础_python列表使用练习_08

4.添加列表元素

使用append()方法在列表末尾添加元素。

同样是a.b的形式。

python列表使用练习 python列表基础_python 嵌套insert_09

5.定义多维列表

使用列表嵌套即可,即将子列表作为父列表的元素。

List = [[1,"小明"],[2,"小刚"],[3,"小丽"]]

6.列表操作符

列表对"+"和"*"的操作符金额字符串相似,"+"用来组合列表,"*"用来重复列表。

Python语句

描述

运算结果

len([1,2,3])

求长度

3

[1,2,3]+[4,5,6]

组合两个列表

[1,2,3,4,5,6]

[1,2,3]*2

将列表重复

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

"huaji" in [1,2,3]

判断元素是否在列表

False

for x in [1,2,3]: print(x,end=",")

对元素进行迭代

1,2,3,

三、内置函数简要介绍


Python列表中内置了很多非常有用的功能函数。

在这里,我们假设列表名为list:

  1. list.append(x)
    在列表末尾添加新的元素x。
  2. list.count(x)
    统计x在列表中出现的次数。
  3. list.extend(seq)
    seq是其他序列,在列表末尾添加其他序列的多个值(用序列扩充原列表)。如果seq是一个字典,则用其键(key)扩充。
  4. list.index(x)
    从列表中找到第一个x出现的位置的下标。
  5. list.insert(index, x)
    将x插入到下标为index处。
  6. list.pop(index)
    删除某个元素并返回其值。index为可选参数,如果不填则删除最后一个元素,否则删除下标为index的元素。
    del(list[index])也是删除,但是删除掉这个元素之后,我们就不能再调用了(如果之前没有存储的话)。
    利用好这里“返回”的这个特性,在删除这个元素之后,我们还能再次调用。这个变量能够“返回”,我们就可以利用变量将其“接收”或通过函数将其“调用”。
    下面是调用的例子,print()函数调用到了list.pop()返回的参数。

下面是接收的例子,我将返回的值赋给了几个变量。

python列表使用练习 python列表基础_python 嵌套insert_10

  1. 形象一点,del sth相当于你对机器人说“帮我把某个抽屉里xx位置的东西扔掉”,机器人照着你的指令把东西扔掉了;而list.pop(index)则是在你说完这句话后,机器人告诉你:“我把你说的那个东西扔掉了,扔掉的东西是xxx······”
  2. list.remove(x)
    将list中第一个出现的x删掉。
  3. list.reverse()
    将列表的顺序反转,即list = list[::-1],中间的"="是赋值号。
  4. list.sort(key, reverse)
    key主要是用来进行比较的元素(类似于excel里的“关键字”),只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序,适用于列表的嵌套。
    reverse是排序规则,reverse = True 降序, reverse = False 升序(默认)。
    另外,这个函数会直接改变列表元素的排序顺序,使用时要特别注意这一点。
    首先来说说没有列表嵌套的情况吧。这种情况下无非就是升序降序的分类讨论了。
    注意!reverse参数有默认值,如果什么都不填的之后就使用默认值。比如:
    但是如果我希望以降序排列,那么我直接填入一个False可以吗?

python列表使用练习 python列表基础_python 嵌套insert_11

  1. 可以看到,程序报错了。这里我们要特别注意,由于这里有两个需要填的参数,key是选填的。如果我们仅仅填入一个False,计算机是不知道应该把这个False给谁的。到底是给key还是给reverse?

python列表使用练习 python列表基础_python列表使用练习_12

  1. 这句话里,我直接指定:将True赋给reverse,这样就非常明确了。reverse在这个函数中是固定的名字,是需要记忆的。
  2. len(list)
    返回list的长度。
  3. max(list)
    返回列表里的最大数值。
  4. min(list)
    返回列表里的最小数值。
  5. list(seq)
    将seq转化为list类型的数据。seq可以是字典,字符串,元组,集合。

四、实例

今天我在计算自己平均分(按学分加权)的时候本来打算按计算器,后来觉得可能有点费时间,于是就决定设计程序。

一通操作猛如虎,我写出了这样的程序,里面有不少涉及到列表。虽然涉及到的知识只有一点点,但至少是提供了一种应用的思路?(也许)

python列表使用练习 python列表基础_python列表使用练习_13

后来发现设计程序更费时间,有这点功夫我早就按完计算器了