【Python 基础 2022 最新】第三课 列表 & 字典

举报
我是小白呀iamarookie 发表于 2022/06/16 23:15:18 2022/06/16
【摘要】 【【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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。