以下是本人最近学习列表中的相关说明及代码分享。
列表的定义
- 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)
输出结果
我的名字叫 张三
我的名字叫 李四
我的名字叫 王五
我的名字叫 王小二