共计 3172 个字符,预计需要花费 8 分钟才能阅读完成。
01. 列表
1.1 列表的定义
List
(列表)是Python
中使用 最频繁 的数据类型,在其他语言中通常叫做 数组- 专门用于存储 一串 数据 ,存储的数据 称为 元素
- 列表用
[]
定义,元素 之间使用,
分隔 - 列表的 索引 从
0
开始- 索引 就是元素在 列表 中的位置编号,索引 又可以被称为 下标
name_list = ["zhangsan", "lisi", "wangwu"]
# 取出列表中元素的值
print(name_list[1])
# 输出 lisi
注意:从列表中取值时,如果 超出索引范围,程序会报错
1.2 列表常用操作
序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
---|---|---|---|
1 | 增加 | 列表.append(数据) | 在末尾追加数据 |
列表.insert(索引, 数据) | 在指定位置插入数据(位置前有空元素会补位) | ||
列表.extend(Iterable) | 将可迭代对象中 的元素 追加到列表 | ||
2 | 删除 | del 列表[索引] | 删除指定索引的数据 |
列表.remove(数据) | 删除第一个出现的指定数据 | ||
列表.pop() | 删除末尾数据, 返回被删除的元素 | ||
列表.pop(索引) | 删除指定索引数据 | ||
列表.clear | 清空列表 | ||
3 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据,数据不存在会报错 |
4 | 查询 | 列表[索引] | 根据索引取值,索引不存在会报错 |
列表.index(数据) | 根据值查询索引,返回首次出现时的索引,没有查到会报错 | ||
列表.count(数据) | 数据在列表中出现的次数 | ||
len(列表) | 列表长度 | ||
if 数据 in 列表: | 检查列表中是否包含某元素 | ||
5 | 排序 | 列表.sort() | 升序排序 |
列表.sort(reverse=True) | 降序排序 | ||
列表.reverse() | 逆序、反转 |
关键字、函数和方法(科普)
- 关键字 是 Python 内置的、具有特殊意义的标识符
import keyword
print(keyword.kwlist)
- 函数 封装了独立功能,可以直接调用
函数名(参数)
- 方法 和函数类似,同样是封装了独立的功能
- 方法 需要通过 对象 来调用,表示针对这个 对象 要做的操作
对象. 方法名(参数)
1.3 循环遍历
- 遍历 就是 从头到尾依次 从列表 中取出 每一个元素,并执行相同的操作
- Python 中实现遍历的方式很多,比如 while 循环、for循环、迭代器等
# while 循环实现列表的遍历
i = 0
name_list = ["zhangsan", "lisi", "wangwu"]
list_count = len(name_list)
while i < list_count:
name = name_list[i]
print(name)
i += 1
- Python 为了提高列表的遍历效率,专门提供 for循环 实现遍历
- Python 中 for 循环的本质是 迭代器
# for 实现列表的遍历
for name in name_list:
循环内部针对列表元素进行操作
print(name)
1.4 列表嵌套
- 类似 while 循环的嵌套,列表也是支持嵌套的
- 一个列表中的元素又是一个列表,那么这就是列表的嵌套
schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'], ['山东大学','中国海洋大学']]
- 应用
一个学校,有 3 个办公室,现在有 8 位老师等待工位的分配,请编写程序: 1> 完成随机的分配 2> 获取办公室信息 (每个办公室中的人数,及分别是谁)
import random
# 定义一个列表用来保存 3 个办公室
offices = [[],[],[]]
# 定义一个列表用来存储 8 位老师的名字
names = ['A','B','C','D','E','F','G','H']
# 完成随机分配
i = 0
for name in names:
index = random.randint(0,2)
offices[index].append(name)
# 获取办公室信息
i = 1
for tempNames in offices:
print('办公室 %d 的人数为:%d'%(i,len(tempNames)))
i+=1
for name in tempNames:
print("%s"%name,end='')
print("\n")
print("-"*20)
1.5应用场景
- 尽管
Python
的列表 中可以 存储不同类型的数据 - 但是在开发中,更多的应用场景是
- 列表 存储相同类型的数据
- 通过for 循环,在循环体内部,针对列表中的每一项元素,执行相同的操作
序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
---|---|---|---|
1 | 增加 | 列表.append(数据) | 在末尾追加数据 |
列表.insert(索引, 数据) | 在指定位置插入数据(位置前有空元素会补位) | ||
列表.extend(Iterable) | 将可迭代对象中 的元素 追加到列表 | ||
2 | 删除 | del 列表[索引] | 删除指定索引的数据 |
列表.remove(数据) | 删除第一个出现的指定数据 | ||
列表.pop() | 删除末尾数据, 返回被删除的元素 | ||
列表.pop(索引) | 删除指定索引数据 | ||
列表.clear | 清空列表 | ||
3 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据,数据不存在会报错 |
4 | 查询 | 列表[索引] | 根据索引取值,索引不存在会报错 |
列表.index(数据) | 根据值查询索引,返回首次出现时的索引,没有查到会报错 | ||
列表.count(数据) | 数据在列表中出现的次数 | ||
len(列表) | 列表长度 | ||
if 数据 in 列表: | 检查列表中是否包含某元素 | ||
5 | 排序 | 列表.sort() | 升序排序 |
列表.sort(reverse=True) | 降序排序 | ||
列表.reverse() | 逆序、反转 |
关键字、函数和方法(科普)
- 关键字 是 Python 内置的、具有特殊意义的标识符
import keyword
print(keyword.kwlist)
- 函数 封装了独立功能,可以直接调用
函数名(参数)
- 方法 和函数类似,同样是封装了独立的功能
- 方法 需要通过 对象 来调用,表示针对这个 对象 要做的操作
对象. 方法名(参数)
1.3 循环遍历
- 遍历 就是 从头到尾依次 从列表 中取出 每一个元素,并执行相同的操作
- Python 中实现遍历的方式很多,比如 while 循环、for循环、迭代器等
# while 循环实现列表的遍历
i = 0
i = 0
name_list = ["zhangsan", "lisi", "wangwu"]
list_count = len(name_list)
while i< list_count:
name = name_list[i]
print(name)
i += 1
- Python 为了提高列表的遍历效率,专门提供 for循环 实现遍历
- Python 中 for 循环的本质是 迭代器
# for 实现列表的遍历
for name in name_list:
循环内部针对列表元素进行操作
print(name)
1.4 列表嵌套
- 类似 while 循环的嵌套,列表也是支持嵌套的
- 一个列表中的元素又是一个列表,那么这就是列表的嵌套
names = ["A","B","C","D","E","F","G","H"]
- 应用
一个学校,有 3 个办公室,现在有 8 位老师等待工位的分配,请编写程序: 1> 完成随机的分配 2> 获取办公室信息 (每个办公室中的人数,及分别是谁)
import random
# 定义一个列表用来保存 3 个办公室
offices = [[],[],[]]
# 定义一个列表用来存储 8 位老师的名字
names = ["A","B","C","D","E","F","G","H"]
# 完成随机分配
i = 0
for name in names:
index = random.randint(0,2)
offices[index].append(name)
# 获取办公室信息
i = 1
for tempNames in offices:
print("办公室 %d 的人数为:%d"%(i,len(tempNames)))
i+=1
for name in tempNames:
print("%s"%name,end="")
print("\n")
print("-"*20)
1.5应用场景
- 尽管
Python
的列表 中可以 存储不同类型的数据 - 但是在开发中,更多的应用场景是
- 列表 存储相同类型的数据
- 通过for 循环,在循环体内部,针对列表中的每一项元素,执行相同的操作
相关文章
正文完
2021-11-22