Python中的数组——列表

一、列表简介

List(列表)是 Python 中最基本的数据结构,也是使用最频繁的数据类型,在其他语言中通常叫做数组。

列表专门用于存储一串信息,用方括号 [ ] 定义数据,数据之间使用逗号,分隔。

序列中的每个元素都分配一个数字,即是它的位置,或索引。

第一个索引是0,第二个索引是1,依此类推。

列表的数据项不需要具有相同的类型。

下面来简单定义一个列表。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]

二、列表常用操作

序号 分类 关键字 / 函数 / 方法 说明
1 读取 列表[索引] 从列表中根据索引读取数据
列表.index("元素") 从列表中找出第一个匹配元素的索引位置
2 增加 列表.insert(索引, 元素) 在指定位置插入数据
列表.append(元素) 在末尾追加数据
列表.extend(列表2) 将列表2 的数据追加到列表
3 修改 列表[索引] = 数据 修改指定索引的数据
4 删除 del 列表[索引] 删除指定索引的数据
列表.remove[数据] 删除第一个出现的指定数据
列表.pop 删除末尾数据
列表.pop(索引) 删除指定索引数据
列表.clear 清空列表
5 计算 len(列表) 获取列表长度
列表.count(元素) 元素在列表中出现的次数
max(列表) 返回列表元素中的最大值
min(列表) 返回列表元素中的最小值
6 排序 列表.sort() 升序排序
列表.sort(reverse=True) 降序排序
列表.reverse() 逆序、反转

1、列表元素的读取

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
print(name_list[0])
# zhangsan
print(name_list[-2])
# wangwu
print(name_list[1:])
# ['lisi', 'wangwu', 'zhaoliu']
# 从第2个元素开始截取列表

注意:在访问列表中的值时,如果超出索引范围,程序会报错。如上面的例子,就会报出:

IndexError: list index out of range

index,从列表中找出第一个匹配元素的索引位置。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
print(name_list.index('lisi'))
# 1
print(name_list.index("wangwu", 2, 3))
# 2

index 的第2个和第3个参数分别是查找的起始和结束的位置,左闭右开。

如果查找不到值,就会报值错误:

ValueError: 'wangwu' is not in list

2、列表增加

insert,在列表的指定位置插入数据。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.insert(2, 'zhaoliu')
print(name_list)
# ['zhangsan', 'lisi', 'zhaoliu', 'wangwu']

append,在列表的末尾追加数据。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.append('zhaoliu')
print(name_list)
# ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']

extend,在列表的末尾追加另一个列表。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list_2 = ['zhaoliu', 'tianqi']
name_list.extend(name_list_2)
print(name_list)
# ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'tianqi']

3、列表修改

修改列表中指定索引的元素。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list[1] = "zhaoliu"
print(name_list)
# ['zhangsan', 'zhaoliu', 'wangwu']

4、列表的删除

remove,删除列表中第一个出现的指定元素。

name_list = ["zhangsan", "lisi", "wangwu", "lisi"]
name_list.remove("lisi")
print(name_list)
# ['zhangsan', 'wangwu', 'lisi']
# 列表中存在多个"lisi",只删除第一个。

pop,删除末尾的元素。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.pop()
print(name_list)
# ['zhangsan', 'lisi']

# pop(index) 删除指定索引元素
name_list.pop(0)
print(name_list)
# ['lisi']

del,删除指定索引数据。

name_list = ["zhangsan", "lisi", "wangwu"]
del name_list[1]
print(name_list)
# ['zhangsan', 'wangwu']

del 关键字本质上是用来将一个变量从内存中删除的。

如果使用del关键字将变量从内存中删除,后续的代码就不能再使用这个变量了。

在日常开发中,要从列表删除数据,建议使用列表提供的方法。

clear,清空列表。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.clear()
print(name_list)
# []

5、列表的计算比较

len,获取列表的长度。

name_list = ["zhangsan", "lisi", "wangwu"]
print(len(name_list))
# 3

count,获取元素在列表中出现的次数。

name_list = ["zhangsan", "lisi", "wangwu", "lisi"]
print(name_list.count("lisi"))
# 2

max,返回列表元素中的最大值。

list1 = [8, 1, 3, 6, 5]
print(max(list1)) 
# 8
list2 = ["abc", "xyz", "jhc", "rtcx"]
print(max(list2)) 
# xyz

min,返回列表元素中的最小值。

list1 = [8, 1, 3, 6, 5]
print(min(list1))
# 1
list2 = ["abc", "xyz", "jhc", "rtcx"]
print(min(list2))
# abc

6、排序

sort,升序排序。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
name_list.sort()
print(name_list)
# ['lisi', 'wangwu', 'zhangsan', 'zhaoliu']

sort(reverse=True),降序排序。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
name_list.sort(reverse = True)
print(name_list)
# ['zhaoliu', 'zhangsan', 'wangwu', 'lisi']

reverse,逆序、反转。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
name_list.reverse()
print(name_list)
# ['zhaoliu', 'wangwu', 'lisi', 'zhangsan']

三、Python列表脚本操作符

组合

num_list = [1, 2, 3] + [4, 5, 6]
print(num_list)
# [1, 2, 3, 4, 5, 6]

重复

str_list = ['Hi!'] * 4
print(str_list)
# ['Hi!', 'Hi!', 'Hi!', 'Hi!']

判断元素是否存在于列表中

value = 3 in [1, 2, 3]
print(value)
# True

编程的朝圣之路

你可能感兴趣的:(Python中的数组——列表)