前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python零基础入门篇①④] - Python中的字典

[Python零基础入门篇①④] - Python中的字典

原创
作者头像
哈哥撩编程
发布2024-06-23 22:42:48
1510
发布2024-06-23 22:42:48

⭐️ 什么是字典?

  • 字典是由多个键 (key) 及其对应的值 (value) 所组成的一种数据类型
  • 字典在 Python 里面是非常重要的数据类型,而且很常用
  • 字典是以关键字(键)为索引,关键字(键)可以是任意不可变类型
  • 字典由键和对应值成对组成,字典中所有的键值对放在 { } 中间,每一对键值之间用逗号分开

⭐️ 字典的结构与创建方法

  • 在 Python 中,dict 代表着字典这一类型,也可以用它定义一个元祖
  • 在 Python 中,通过 {} 将一个个 key 与 value 存入字典中, 如 person = {'name':'neo', 'age':'18'}

字典通常用于描述对象的各种属性,例如一个人,有姓名、生日、年龄等各种属性,可以使用字典描述如下:

代码语言:python
复制
man = {'name': 'neo', 'birthday': '2000-01-01', 'age': '18'}
print(man['name'])
# >>> neo
print(man['birthday'])
# >>> 2000-01-01
print(man['age'])
# >>> 18
  • 在第 1 行,创建了一个字典用于描述一个人的属性
  • 在第 2 行,使用字符串 'name'作为键(索引)访问字典中对应的值
  • 在第 4 行,使用字符串 'birthday' 作为键(索引)访问字典中对应的值
  • 在第 6 行,使用字符串 'age' 作为键(索引)访问字典中对应的值

⭐️ 字典支持的数据类型

  • key 支持 字符串、数字、元组类型,但不支持列表类型
    • 通常是字符串或数字
    • 如果一个元组只包含字符串、数字或元组,那么这个元组也可以用作键
    • 但如果元组直接或间接地包含了可变对象,那么它就不能用作键
  • value 支持所以 Python 的数据类型
代码语言:python
复制
person = {'name': 'neo', 'birthday': '2000-01-01', 'age': 18, 'height': 1.75}
print(type(person['name']))                                                  
# >>> <class 'str'>   

print(type(person['age']))                                                   
# >>> <class 'int'> 

print(type(person['height']))
# >>> <class 'float'> 

特殊情况:声明一个空字典

代码语言:python
复制
# 空字典
dict_test = {}
print(dict_test,type(dict_test))

dict_test = dict()
print(dict_test,type(dict_test))


# 输出结果
{} <class 'dict'>
{} <class 'dict'>

⭐️ 在列表与元组中如何定义字典

代码语言:python
复制
dict_list = [{'name', 'lily'}, {'age', '17'}]

dict_tuple = ({'name', 'jack'}, {'age', '18'})

# 这里需要注意的是,元组一旦创建,就不可改变。

需要特别注意的是 Python3.7之前的版本字典是无序的,之后版本变为有序。

同时,字典最重要的一个特性,字典中的每一个key一定是唯一的。

⭐️ 字典常见操作

🌟 读取字典

代码语言:python
复制
>>> x = {'a':'A', 'b':'B'}
>>> x['a']
'A'
>>> x['b']
'B'
  • 在第 1 行,创建一个具有 2 个键值对的字典;
  • 在第 2 行,读取键 'a' 对应的值;
  • 在第 3 行,结果显示为 'A';
  • 在第 4 行,读取键 'b' 对应的值;
  • 在第 5 行,结果显示为 'B'。

🌟 修改字典

代码语言:python
复制
>>> x = {'a':'A', 'b':'B'}
>>> x['a'] = 'AA'
>>> x['b'] = 'BB'
>>> x
{'a':'AA', 'b':'BB'}
  • 在第 1 行,创建一个具有 2 个键值对的字典;
  • 在第 2 行,修改键 'a' 对应的值为 'AA';
  • 在第 3 行,修改键 'b' 对应的值为 'BB';
  • 在第 4 行,显示修改后的字典。

🌟 在字典中增加键值对

代码语言:python
复制
>>> x = {'a':'A', 'b':'B'}
>>> x['c'] = 'C'
>>> x
{'a':'A', 'b':'B', 'c':'C'}
  • 在第 1 行,创建一个具有 2 个键值对的字典;
  • 在第 2 行,在字典中增加一个键值对:键为 'c',值为 'C';
  • 在第 3 行,显示新增后的字典;
  • 在第 4 行,新增后的自动包含 3 个键值对。

🌟 在字典中删除键值对

代码语言:python
复制
>>> x = {'a':'A', 'b':'B', 'c': 'C'}
>>> del x['b']
>>> x
{'a':'A', 'c':'C'}
  • 在第 1 行,创建一个具有 3 个键值对的字典;
  • 在第 2 行,使用 del 语句从字典 x 中删除键 'b' 对应的键值对;
  • 在第 3 行,显示删除后的字典;
  • 在第 4 行,删除一个键值对后,字典仅包含 2 个键值对。

🌟 查询字典

通过关键字 in 检查字典中是否包含指定元素,示例如下:

代码语言:python
复制
>>> x = {'a':'A', 'b':'B'}
>>> 'a' in x
True
>>> 'c' in x
False
  • 在第 1 行,创建一个具有 2 个键值对的字典;
  • 在第 2 行,使用关键字 in 检测键 'a' 是否在字典 x 中;
  • 在第 3 行,结果为真,表示键 'a' 在字典 x 中;
  • 在第 4 行,使用关键字 in 检测键 'c' 是否在字典 x 中;
  • 在第 5 行,结果为假,表示键 'c'不在字典 x 中。

⭐️ 关于字典的编程小练习

定义两个字典dict_1和dict_2,将以下三名学生的成绩放入字典中,其中dict_1以学生的姓名作为key,各科成绩作为value;dict_2以学科作为key,学生成绩作为value

姓名

英语

语文

数学

huahua

95

98

99

dandan

98

99

100

xingxing

100

97

98

代码语言:python
复制
# 以学生的姓名作为key,各科成绩作为value
dict_1 = {'huahua': [95, 98, 99], 'dandan': [98, 99, 100], 'xingxing': [100, 97, 98]}
print('huahua的各科成绩分别是:' + str(dict_1.get('huahua')))


# dict_2以学科作为key,学生成绩作为value
dict_2 = {'英语': [95, 98, 100], '语文': [98, 99, 97], "数学": [99, 100, 98]}
print('三名同学的英语成绩分别是:' + str(dict_2.get('英语')))

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ⭐️ 什么是字典?
  • ⭐️ 字典的结构与创建方法
  • ⭐️ 字典支持的数据类型
  • ⭐️ 在列表与元组中如何定义字典
  • ⭐️ 字典常见操作
    • 🌟 读取字典
      • 🌟 修改字典
        • 🌟 在字典中增加键值对
          • 🌟 在字典中删除键值对
            • 🌟 查询字典
            • ⭐️ 关于字典的编程小练习
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档