往期的文章已经给大家讲解了【字符串】、【基本数据类型】、【运算符】、【循环】,相信不少伙伴已经看过了,没看过的快去看看吧!如果小会的讲解能在编程学习中帮助你一点点,就很欣慰了。

一、定义:

列表(list)作为Python中最常用的数据结构之一,顾名思义就是一个清单,里面按顺序排好了一堆数据。我们先看一下列表的构成。

举例:

list_example = [1, 2.0, "three", 4]

第一个数据是1,第二个数据是2.0,第三个数据是字符串three,第四个数据是个整数4,全用逗号隔开。

Python的一个好处是它比较灵活,列表里的数据类型可以多种多样,不需要统一全是同一个类型的数据(比如没有必要全是整数或者全是字符串)。

二、list列表的常用操作

要使用列表,我们需要掌握三个基本操作:添加、删除、修改。
以及其他的一些函数,小会将简单介绍几个常用的,其他的大家可以自行上网搜索并试着自己敲代码尝试。

1 )列表的索引

直接用中括号[ ]索引其下标即可,或用for循环遍历所有的值
*注意:当下标为负数时则代表从后往前所以(或理解为长度+负下标),即-1代表最后一个元素,-2代表倒数第2个元素。

a = [1,2,3]print(a[1])     #输出2,因为一个list列表的下标从0开始,按照0, 1, 2,...的顺序排列
print(a[-1])    #输出3
for i in a:
    print(i) #输出1 2 3

2)列表的添加元素

insert函数在任意位置插入元素

list_name.insert(index_number, element)

例:

#首先定义一个列表example = ["A", "B", "C", "D"]#在下标为2处添加新元素
example.insert(2, "inserted element")
print(example) #['A', 'B', 'inserted element', 'C', 'D']

我们可以在结果里看到,新添的词组被放在在第三个位置(下标为2),而原来位置上的C被往后推了一个格。

append函数在队尾插入元素

list1.append(5)  #在list1的最后插入元素5

extend()函数在尾部扩展一个新列表

list1 = [1]list1.extend([2, 3])  # list1为[1, 2, 3]

注意,集合set中没有append和insert,取代的是add()

set1.add(2) #向集合中加入元素2

3)列表删除元素

用del函数删除列表指定位置的元素

del(list1[index]) #删除list1中index位置的元素(index也可以表示一个范围,如[1, 3])

用pop函数剔除队尾元素,并将其返回

a = list1.pop(index) #将list1中index位置元素剔除并赋值给a,默认删除最后一个元素

用remove函数删除列表中值为指定值的元素

list1.remove(value) #删除list中值为value的元素

用clear函数彻底清空列表全部内容

list1.clear() #清空list1的全部内容

用分片赋值空列表的办法删除元素

list1 = [1, 2, 3, 4, 5]   list1[2:] = []   list1  # 输出[1, 2]

*注意:集合中只有remove和discard,其中discard删除不存在的元素不会报错,但是remove与list中一样,会报错。

4)列表的拼接
可以简单的用 + 将两个列表连接起来

a = [1, 2]
b = [3]
c = a + b
那么c = [1, 2, 3]

5)修改已有数据
如果我们要修改某个数据,我们直接赋值即可实现。

#首先定义一个列表
example = ['John', 'Sam', 'Alice', 2020]
#修改最后一位上的数据
example[-1] = 'Lucy'
print(example) 
#['John', 'Sam', 'Alice', 'Lucy']

2020已经被成功改为人名Lucy。

6)列表的重复
可以将一个列表直接乘一个数字n获得n倍重复后的列表,相当于n个这样的列表连接起来。

a = [0]
b = a * 5
那么b = [0, 0, 0, 0, 0]

7)元素成员判断(判断一个元素是否存在一个列表中)

a = [1, 2, 3, 4, 5]
b = 2
print(b in a)# 输出True
print(b not in a)# 输出False

若in前面的元素在列表中则运算值为真;否则为假 not in与in刚好相反。

三、列表常用函数

1)列表的排序:sort方法与sorted()函数
sort方法
参数:
Key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse:是否降序(True为降序,不指定该参数为升序)
sorted()函数:
与sort方法功能类似,但是sorted()函数有返回值,返回的是排序后的结果。

2)extend函数
我们可以用加号来合并俩列表,我们也可以用extend函数来实现列表的延展。

a = [1, 2, 3]
b = [4, 5]
#把a、b合并,两种方法
c = a + ba.extend(b)
#现在c和a应该长一个样子
print(c) #[1, 2, 3, 4, 5]
print(a) #[1, 2, 3, 4, 5]

extend的优点在于,比如在a.extend(b)中,b的类型不一定要是列表,它也可以是元组、字典或者集合。如果使用a = a + b,则a和b都必须是列表。
extend是将新增的列表拆开来,里面的元素一个一个添加进去,可以理解为列表合并、延展。