以下是本人最近学习列表中的相关说明及代码分享。

列表的定义

  • List(列表) 是Python中使用最频繁的数据类型,在其他语言中通常叫做数组
  • 专门用于存储一串信息
  • 列表用[] 定义,数据之间用 , 分隔
  • 列表的索引从0开始
  • 索引就是数据在列表中的位置编号,索引又可以被称为下标

注意:从列表中取值,如果超出索引范围,程序会报错IndexError: list index out of range

列表常用操作方法
在ipython3中定义一个列表name_list=[]
输入name_list. 按下Tab键,ipython会提示列表能够使用的方法如下:

appen()  count()   insert()   reverse()
 clear()  extend()  pop()      sort()
 copy()   index()   remove()

序号

分类

关键字/函数/方法

说明

1

增加

列表.insert(索引,数据)

在指定位置插入数据

列表.appen(索引,数据)

在末尾增加数据

列表.extend(列表2)

将列表2的数据增加到列表

2

修改

列表[索引]=数据

修改指定索引的数据

3

删除

del 列表[索引]

删除指定索引的数据

列表.remove(数据)

删除第一个出现的指定数据

列表.pop

删除末尾数据

列表.pop(索引)

删除指定索引的数据

列表.clear

清空列表

4

统计

len(列表)

列表长度

列表.count(数据)

数据在列表中出现的次数

5

排序

列表.sort()

升序排序

列表.sort(reverse=True)

降序排序

列表.reverse()

反转、逆序

list_01_列表基本使用

代码

name_list = ["张三", "李四", "王五"]

# 1.取值/取索引
print(name_list[2])
# 知道数据的内容,但需要知道在列表中位置
# 使用index方法需注意,如果传递的数据不在列表中,会报错 ValueError: '张三12' is not in list
print(name_list.index("张三"))

# 2.修改
name_list[2] = "wangWu"
# 如果指定的索引超出范围,程序会报错
# IndexError: list assignment index out of range
# name_list[3] = "赵六"

# 3.增加
# append可以向列表的末尾追加数据
name_list.append("王小二")
# insert向指定位置插入数据
name_list.insert(4, "zhaoLiu")
# extend 可以把其他列表完整内容追加到当前列表末尾
name_list.extend(["唐僧", "孙悟空", "猪八戒", "沙僧"])

# 删除
# remove 删除指定的数据
name_list.remove("沙僧")
# pop 默认删除最后一个元素
# 当index有参数时,则删除指定索引位置的数据
name_list.pop()
name_list.pop(4)
# clear 清空列表的所有数据
name_list.clear()

print(name_list)

输出结果

王五
0
[]

list_02_del关键字

代码

name_list = ["张三", "李四", "王五"]

# (知道) 使用del关键字(delete)删除列表元素
# 注意:在日常开发中,要从列表中删除数据,建议使用列表提供的方法
del name_list[1]

print(name_list)

# del 关键字 本质上是用来将一个变量从内存中删除的
name = "小明"

del name

# 注意:如果使用del关键字将变量从内容删除,后续的代码就不能使用这个变量了 否则会报错NameError: name 'name' is not defined
print(name)

输出结果

NameError: name ‘name’ is not defined
[‘张三’, ‘王五’]

list_03_列表的数据统计

代码

name_list = ["张三", "李四", "王五", "王小二", "张三"]

# len 函数可以统计列表中的元素的总数
list_len = len(name_list)
print("列表中包含%d个元素" % list_len)

# count方法可以统计某个元素出现的次数
count = name_list.count("张三")
print("列表中张三出现%d次" % count)

# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错ValueError: list.remove(x): x not in list
name_list.remove("张三")
print(name_list)

输出结果

列表中包含5个元素
列表中张三出现2次
[‘李四’, ‘王五’, ‘王小二’, ‘张三’]

list_04_列表的排序和反转

代码

name_list = ["zhangsan", "lisi", "wangwu"]
num_list = [1, 33, 45, 5, 67, 32, 73, 87]

# 升序
# name_list.sort()
# num_list.sort()

# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)

# 逆序(反转)
name_list.reverse()
num_list.reverse()

print(name_list)
print(num_list)

输出结果

[‘wangwu’, ‘lisi’, ‘zhangsan’]
[87, 73, 32, 67, 5, 45, 33, 1]

list_05_列表遍历

代码

name_list = ["张三", "李四", "王五", "王小二"]

# 迭代遍历列表
"""
从列表中依次获取数据,每一次循环过程中,数据都会保存在my_name这个变量中,
在循环体内可以获取到当前这次获取的数据
for my_name in 列表变量:
    print("我的名字叫 %s" % my_name)
"""
for my_name in name_list:
    print("我的名字叫 %s" % my_name)

输出结果

我的名字叫 张三
我的名字叫 李四
我的名字叫 王五
我的名字叫 王小二