【Python 基础 2022 最新】第三课 列表 & 字典
概述
从今天开始, 小白我将带领大家学习一下 Python 零基础入门的内容. 本专栏会以讲解 + 练习的模式, 带领大家熟悉 Python 的语法, 应用, 以及代码的基础逻辑.
列表
列表 (List) 在 Python 中是一种特殊的变量. 列表可以容纳多个元素, 且元素可为不同的数据类型.
创建列表
例子:
list1 = [1, 2, 3] # 创建由整数型 (int) 构成的数组
list2 = ["我是小白呀", True] # 创建包含不同数据类型的数组
print(list1, list2) # 调试输出
print(type(list1), type(list2)) # 调试输出类型
- 1
- 2
- 3
- 4
输出结果:
[1, 2, 3] ['我是小白呀', True]
<class 'list'> <class 'list'>
- 1
- 2
列表增删改查
索引
索引 (Index) 是一种特殊的数据结构, 类似于图书的目录. 列表会为其中的每个元素分配一个索引 (index), 从 0 开始向后递推. 通过索引我们可以对列表进行更新, 删除元素, 切片等操作.
例子:
list1 = ["我是小白呀", "王二狗", "李铁柱"] # 创建列表
print("索引 0:", list1[0]) # 通过索引调试输出元素1
print("索引 1:", list1[1]) # 通过索引调试输出元素2
print("索引 2:", list1[2]) # 通过索引调试输出元素3
- 1
- 2
- 3
- 4
输出结果:
索引 0: 我是小白呀
索引 1: 王二狗
索引 2: 李铁柱
- 1
- 2
- 3
增
格式:
list.append(elmnt)
- 1
参数:
- elmnt: 在数组末尾添加的元素
例子:
# 创建列表
list1 = [12, 23, 34, 45]
print("原始列表:", list1) # 调试输出
# 利用append在末尾添加
list1.append(56)
print("append后的列表:", list1) # 调试输出
# 利用insert添加元素
list1.insert(0, 99) # 向列表头插入元素, 99
print("insert后的列表:", list1) # 调试输出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
输出结果:
原始列表: [12, 23, 34, 45]
append后的列表: [12, 23, 34, 45, 56]
insert后的列表: [99, 12, 23, 34, 45, 56]
- 1
- 2
- 3
删
例子:
# 创建列表
list1 = [12, 23, 34, 45]
print("原始列表:", list1) # 调试输出
# 删除索引为0的元素, 即12
del list1[0]
print("删除元素后的列表:", list1) # 调试输出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出结果:
原始列表: [12, 23, 34, 45]
删除元素后的列表: [23, 34, 45]
- 1
- 2
改
例子:
# 创建列表
list1 = [12, 23, 34, 45]
print("原始列表:", list1) # 调试输出
# 删除索引为0的元素, 即12
del list1[0]
print("删除元素后的列表:", list1) # 调试输出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出结果:
原始列表: [12, 23, 34, 45]
修改元素后的列表: [0, 23, 34, 45]
- 1
- 2
查
例子:
list1 = ["我是小白呀", "王二狗", "李铁柱"] # 创建列表
print("索引 0:", list1[0]) # 通过索引调试输出元素1
print("索引 1:", list1[1]) # 通过索引调试输出元素2
print("索引 2:", list1[2]) # 通过索引调试输出元素3
- 1
- 2
- 3
- 4
输出结果:
索引 0: 我是小白呀
索引 1: 王二狗
索引 2: 李铁柱
- 1
- 2
- 3
其他操作
切片操作
格式:
list[起始索引(包含) : 结束索引(不包含)]
list[起始索引(包含) : 结束索引(不包含): 间隔]
- 1
- 2
例 1:
# 创建列表
list1 = ["我是小白呀", "王二狗", "张三", "李四", "李铁柱"]
print(list1[0:2]) # 切片操作
print(list1[:2]) # 和上一行相同, 省略起始索引
- 1
- 2
- 3
- 4
输出结果:
['我是小白呀', '王二狗']
['我是小白呀', '王二狗']
- 1
- 2
例 2:
# 创建列表
list1 = ["我是小白呀", "王二狗", "张三", "李四", "李铁柱"]
print(list1[::2]) # 切片操作, 每2个提取一个元素
print(list1[::3]) # 切片操作, 每3个提取一个元素
- 1
- 2
- 3
- 4
输出结果:
['我是小白呀', '张三', '李铁柱']
['我是小白呀', '李四']
- 1
- 2
重点: 切片后的列表包含起始索引位置的元素, 但是不包含结束索引位置的元素.
合并列表
例子:
# 创建列表
list1 = [1, 2, 3, 4] # 创建列表1
list2 = [5, 6, 7, 8] # 创建列表2
list_combine = list1 + list2 # 合并列表
print(list_combine) # 调试输出
- 1
- 2
- 3
- 4
- 5
输出结果:
[1, 2, 3, 4, 5, 6, 7, 8]
- 1
查找元素
通过命令in
判断列表中是否存在元素.
格式:
元素 in list
- 1
例子:
# 创建列表
list = [1, 2, 3, 4]
# 判断列表是否包含元素
print(1 in list)
print(2 in list)
print(3 in list)
print(4 in list)
print(5 in list)
print(6 in list)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
输出结果:
True
True
True
True
False
False
- 1
- 2
- 3
- 4
- 5
- 6
字典
字典 (Dictionary) 由键 (Key) 和值 (Value) 组成. 键具有唯一性.
创建字典
格式:
dict = {key1:value1, key2, value2, key3, value3...}
- 1
参数:
- key: 键
- value: 值
例子:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
print(dict) # 调试输出
print(type(dict)) # 调试输出类型
- 1
- 2
- 3
- 4
输出结果:
{'名字': '我是小白哎呀', '年龄': 20}
<class 'dict'>
- 1
- 2
查看值
例子:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
print(dict["名字"]) # 通过键获取对应的值
print(dict["年龄"]) # 通过键获取对应的值
- 1
- 2
- 3
- 4
输出结果:
我是小白哎呀
20
- 1
- 2
字典操作
访问字典的值
方法 1, 通过items()
命令获取字典键值对:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
# 方法一
for key, value in dict.items():
# 输出每个键值对
print("键:", key, "值:", value)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出结果:
{'名字': '我是小白哎呀', '年龄': 20}
键: 名字 值: 我是小白哎呀
键: 年龄 值: 20
- 1
- 2
- 3
方法 2, 通过键获取对应的值:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
# 方法二
for key in dict:
# 输出每个键值对
value = dict[key]
print("键:", key, "值:", value)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
输出结果:
键: 名字 值: 我是小白哎呀
键: 年龄 值: 20
- 1
- 2
添加键值对
例子:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
print(dict) # 调试输出
# 添加键值对
dict["职位"] = "纽约Benail CEO"
print(dict) # 调试输出'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出结果:
{'名字': '我是小白哎呀', '年龄': 20}
{'名字': '我是小白哎呀', '年龄': 20, '职位': '纽约Benail CEO'}
- 1
- 2
修改字典
例子:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
print(dict) # 调试输出
# 通过键修改值
dict["年龄"] = 18 # 小白永远18, 不接受反驳
print(dict) # 调试输出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
调试输出:
{'名字': '我是小白哎呀', '年龄': 20}
{'名字': '我是小白哎呀', '年龄': 18}
- 1
- 2
键重复
例子:
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20, "年龄": 18}
print(dict) # 调试输出
- 1
- 2
- 3
输出结果:
{'名字': '我是小白哎呀', '年龄': 18}
```
注: 当键重复时, 保留最新的值, 作为键值对.
## 常见错误
键不存在:
```
# 创建字典
dict = {"名字": "我是小白哎呀", "年龄": 20}
# 调试输出键对应的值
print(dict["名字"])
print(dict["年龄"])
print(dict["职位"]) # 不存在该键
```
输出结果:
```
我是小白哎呀
20
Traceback (most recent call last):
File "C:/Users/Windows/Desktop/讲课/第三课/第三课 字典常见错误.py", line 7, in <module>
print(dict["职位"])
KeyError: '职位'
```
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。
原文链接:iamarookie.blog.csdn.net/article/details/125288940
- 点赞
- 收藏
- 关注作者
评论(0)