Python 字典dict

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

一.Python 字典 dict 简介

       前面的课程讲解了字符串 str / 列表 list / 元组 tuple ,还有最后一种比较重要的数据类型也需要介绍,那就是Python 字典俗称:dict.

       Python 中的字典可与字符串 / 列表 / 元组不同,因为字典 dict 需要由两部分组成,分别是 key 和 value简称:键值对,下面具体讲解一下关于字典的特点:

  • 1.由一个或者多个键值对构成,键值对的类型可以不相同也可以相同;
  • 2.字典中的键值对需要写在 {} 中括号内部,键值对中的 key 和 value 用 : 隔开,键值对与键值对之间用逗号隔开;
  • 3.字典是一个无序的集合;
  • 4.字典中 key 具有唯一性;
Python 字典dict

二.Python 字典 dict 定义

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:python字典dict.py
@Time:2021/3/23 00:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""

dict1 = dict() # 定义一个空字典
print(dict1)
print(type(dict1)) # 输出字典类型 dict
print(len(dict1)) # 获取字典键值对数量


print("***"*20) # 小窍门:直接打印60 个 *
#字典可以有一个或者多个键值对构成,键值对与键值对之间使用逗号隔开
# "name" / "age" / "sing_gou" 是key
# "隔壁老王" / 42 / True 是value
dict2 = {"name":"隔壁老王", "age":42, "singe_dog":True} 
print(dict2)
print(type(dict2)) # 输出字典类型 dict
print(len(dict2)) # 获取字典键值对数量

print("***"*20) # 小窍门:直接打印60 个 *
# 字典中出现了两个一样的key:"age",默认后面的value会覆盖前面的value
dict3 = {"name":"隔壁老王", "age":42, "singe_dog":True,"age":15}
print(dict3)

'''
输出结果:

{}
<class 'dict'>
0
************************************************************
{'name': '隔壁老王', 'age': 42, 'singe_dog': True}
<class 'dict'>
3
************************************************************
{'name': '隔壁老王', 'age': 15, 'singe_dog': True}

'''

       注意:如果字典中出现相同的 key 值,只有最后一个 key / value 有效,前面相同的 key / value 会被覆盖,这就是字典 dict 所谓的唯一性.


三.Python 字典 dict 增加数据

       如果想要在字典中添加数据,直接赋值就可以,比较简单,跟上示例代码演示一波:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:python字典dict.py
@Time:2021/3/23 00:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
 
"""

dict1 = dict() # 定义一个空字典
print(dict1) # 输出一个空的字典
dict1["name"] = "猿说python" # 添加键值对 "name":"猿说python" 到 dict1
dict1["url"] = "shuopython.com" # 添加键值对 "url":"shuopython.com" 到 dict1

print(len(dict1)) # 获取字典键值对数量
print(dict1) # 输出整个字典

'''
输出结果:
{}
2
{'name': '猿说python', 'url': 'shuopython.com'}

'''

四.Python 字典 dict 删除数据

  •        字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别
  •        删除字典中的数据,需要根据键值对中的 key 值来删除对应的键值对,删除使用 del 关键字
dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出删除之前的字典

# 删除key等于"name"对应的键值对
del dict1["name"]
print(dict1)

# 删除key等于"age"对应的键值对
del dict1["age"]
print(dict1)

# 删除key等于"sing_dog"对应的键值对
del dict1["sing_dog"]
print(dict1)

'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'age': 38, 'sing_dog': True}
{'sing_dog': True}
{}

'''

五.Python 字典 dict 修改数据

  •        字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别
  •        修改字典中的键值对数据,操作和删除数据一样,直接根据键值对中的 key 值操作即可;
dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典

# 修改key等于"name"对应的value
dict1["name"] = "隔壁老王"
print(dict1) # 输出字典

# 修改key等于"age"对应的value
dict1["age"] = 18
print(dict1) # 输出字典

# 修改key等于"sing_dog"对应的value
dict1["sing_dog"] = False
print(dict1) # 输出字典

'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': False}

'''

六.Python 字典 dict 查询数据

  •        字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别
  •        查询字典中的键值对数据,操作和删除数据/修改数据一样,直接根据键值对中的 key 值操作即可
dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典

# 查询key等于"name"对应的value
print(dict1["name"])

# 查询key等于"age"对应的value
print(dict1["age"])

# 查询key等于"sing_dog"对应的value
print(dict1["sing_dog"])


'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
zhangsan
38
True

'''

七.Python 字典 dict 常用函数

  • 1.update 函数 – 将一个字典添加到另外一个字典的末尾,把两个字典合并到一个字典;
  • 2.clear 函数 – 清空字典;
dict1 = {"name":"zhangsan","age":38} # 定义一个字典
print(dict1) # 输出字典
dict2 = {"sing_dog":True} # 定义一个字典
print(dict2)

print("***"*20) # 小窍门:直接答应60个*
# update()函数:将一个字典添加到另外一个字典的末尾
dict1.update(dict2)
print(dict1) # 输出字典

print("***"*20) # 小窍门:直接答应60个*
# 情况字典dict1
dict1.clear()
print(dict1) # 空字典
# 情况字典dict2
dict2.clear() 
print(dict2) # 空字典


'''
输出结果:
{'name': 'zhangsan', 'age': 38}
{'sing_dog': True}
************************************************************
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
************************************************************
{}
{}

'''

八.Python 字典 dict 遍历

1.使用 dict.items 方法遍历字典

       dict.items 方法的返回值是一个元组 tuple,等价于遍历元组 tuple ,示例代码如下:

dict1 = {"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"} # 定义一个字典
print(dict1) # 输出字典

print("***"*20) # 小窍门:直接答应60个*
# dict.items()方法,返回元组数据,类似遍历元组操作
for x in dict1.items():
    print(x,type(x))

print("***" * 20)  # 小窍门:直接答应60个*
# dict.items()方法经典写法,直接获取key/values
for x,y in dict1.items():
    print(x,y)

'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True, 'height': '155cm'}
************************************************************
('name', 'zhangsan') <class 'tuple'>
('age', 38) <class 'tuple'>
('sing_dog', True) <class 'tuple'>
('height', '155cm') <class 'tuple'>
************************************************************
name zhangsan
age 38
sing_dog True
height 155cm

'''

2.根据字典中key或者value遍历字典

dict1 = {"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"} # 定义一个字典
print(dict1) # 输出字典

print("***"*20) # 小窍门:直接答应60个*
# 方法一:根据key值遍历
for key in dict1.keys():
    print(key ,dict1[key])  # dict1[key] 等价键值对中key对应的value

print("***"*20) # 小窍门:直接答应60个*
# 方法二:根据value值遍历
for value in dict1.values():
    print(value )

'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True, 'height': '155cm'}
************************************************************
name zhangsan
age 38
sing_dog True
height 155cm
************************************************************
zhangsan
38
True
155cm

'''


九.猜你喜欢

  1. Python 简介
  2. Python Pycharm Anacanda 区别
  3. Python2.x 和 Python3.x,如何选择?
  4. Python 配置环境
  5. Python Hello World入门
  6. Python 代码注释
  7. Python 中文编码
  8. Anaconda是什么?Anconda下载安装教程
  9. Pycharm 提示:this license **** has been cancelled
  10. Pycharm设置开发模板/字体大小/背景颜色
  11. Python 列表 list
  12. Python 元组 tuple

未经允许不得转载:猿说编程 » Python 字典dict
喜欢(3) 打赏

评论抢沙发

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!!

开始学习

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏