Python的字典应用


一、前言

  字典和列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存内容是以“键值对”的形式存放。


二、字典特征

  字典的主要特征如下:

  • 通过键而不是通过索引来读取
  • 字典是任意对象的无序集合
  • 字典是可变的,并且可以任意嵌套
  • 字典的键必须唯一
  • 字典中的键必须不可变

三、字典的创建和删除

  创建字典,在“键”和“值”之间使用冒号分割,相邻两个元素使用逗号分隔,所有的元素放在一个大括号里“{ }”中。语法格式如下:

dictionary = {"key1":"value1","key2":"value2"}

参数说明:

  • dictionary:表示字典名称
  • key1、key2:表示元素的键,必须是唯一的,并且不可变的,可以是字符串、元组或者数字
  • value1、value2:表示元素的值,可以是任何数据,不是必须唯一

  例如,创建一个保存通讯录信息的字典,可以使用下列代码:

dictionary = {"qq": "111112233", "mr": "23455666", "无语": "12333-233"}
print(dictionary)

执行结果,如下:
在这里插入图片描述


  同列表和元组一样,在Python中可以创建一个空字典。使用下列两个种方法创建空字典:

dictionary = {}

或者

dictionary = dict()

  Python的dict()方法除了可以创建一个空字典外,还可以通过已有数据快速创建字典,主要表现为以下两种形式:

1.通过映射函数创建字典

  通过映射函数创建字典,语法格式如下:

dictionary = dict(zip(list1,list2))

参数说明:

  • dictionary:表示字典名称
  • zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象
  • list1:一个列表,用于指定生成字典的键
  • list2:一个列表,用于指定生成字典的值

实例:

name = ["小红", "小菜鸡", "小白"]
sign = ["跑车", "妖刀", "可爱"]
dictionary = dict(zip(name, sign))
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


2.通过给定的“关键字参数”创建字典

  通过给定的“关键字参数”创建字典,语法格式如下:

dictionary = dict(key1 = value1,key2 = value2)

参数说明:

  • dictionary:表示字典名称
  • key1、key2:表示参数明,必须是唯一
  • value1、value2:表示参数值,可以是任意数据类型

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


  在Python中,还可以使用dict对象的fromkeys()方法创建值为空的字典,语法如下:

dictionary = dict.fromkeys(list1)

参数说明:

  • dictionary:表示字典名称
  • list1:作为字典的键的列表

实例:

name = ["小红", "小菜鸡", "小白"]
dictionary = dict.fromkeys(name)
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


3.字典的删除

  同列表和元组一样,不需要的字典可以用del命令删除整个字典。通过下列代码可以完成定义字典删除:

del dictionary

  另外,如果只想清空字典的全部元素,可以使用字典的clear()方法实现,清空字典全部元素,代码如下:

dictionary.clear()

四、通过“键值对”访问字典

  在Python中,如果想输出字典的内容也比较简单,可以直接用print()函数打印,代码如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


  知道某个“键”,输出某个“值”,代码如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print(dictionary["小红"])

执行结果,如下所示:
在这里插入图片描述
  当用该方法取值时,指定的“键”不存,将抛出异常,如下图:
在这里插入图片描述
  所以为了避免异常,可以将代码做一下修改,如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print("小红的值是:", dictionary["小红"] if "小红" in dictionary else "我的字典里没有这个人")

执行结果,如下所示:
在这里插入图片描述


五、遍历字典

  字典是以“键值对”的形式存储数据的,所以在使用字典时需要获取这些键值对,使用字典对象的items()方法可以获取字典的“键值对”列表,语法如下所示:

dictionary.items()

  例如:定义一个字典,然后通过items()方法获取“键值对”的元组列表,并输出全部“键值对”,代码如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
for item in dictionary.items():
    print(item)

执行结果,如下所示:
在这里插入图片描述


  上面的示例得到是元组中的个元素,如果想获取到具体的每个键和值,可以使用下列代码:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
for key, value in dictionary.items():
    print(key, "的值是", value)

执行结果,如下所示:
在这里插入图片描述


六、添加、修改和删除字典元素

1.添加字典元素

  由于字典是可以变序列,所以可以随时字典中添加“键值对”,语法格式如下:

dictionary[key] = value

参数说明:

  • dictionary:表示字典名称
  • key:表示添加元素的键,必须是唯一的,并且不可变
  • value:表示添加元素的值,可以是任何数据类型,不必唯一

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
dictionary["小明"] = "小聪明"  # 添加一个元素
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


2.修改字典元素

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
dictionary["小红"] = "自行车"  # 修改一个元素
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


3.删除字典元素

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
del dictionary["小红"]  # 删除一个元素
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


七、字典推导式

  使用字典推导式可以快速生成一个字典,它的表现形式和列表推导式类似。例如,我们可以使用下列代码生成一个包含4个随机数的字典,其中字典值使用数字表示:

import random

randomdict = {i: random.randint(10, 100) for i in range(1, 5)}
print("生成的字典为:", randomdict)

执行结果,如下所示:
在这里插入图片描述


  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
1. 创建一个字典,包含你的姓名、年龄、性别和国籍。 ```python my_info = {'name': 'Alice', 'age': 25, 'gender': 'female', 'nationality': 'China'} ``` 2. 给定一个字典,输出它的所有和值。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for key, value in my_dict.items(): print(key, value) ``` 3. 给定一个字典,输出它的所有。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for key in my_dict.keys(): print(key) ``` 4. 给定一个字典,输出它的所有值。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for value in my_dict.values(): print(value) ``` 5. 给定一个字典,删除为 'a' 的值对。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} del my_dict['a'] ``` 6. 给定两个字典,将它们合并为一个字典。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'c': 3, 'd': 4} merged_dict = {**dict1, **dict2} ``` 7. 给定一个字典,判断它是否包含 'a'。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} if 'a' in my_dict: print('Yes') else: print('No') ``` 8. 给定一个字典,判断它是否包含值为 2 的值对。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} if 2 in my_dict.values(): print('Yes') else: print('No') ``` 9. 给定一个字典,返回它的长度(即值对的个数)。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} length = len(my_dict) ``` 10. 给定一个字典,将它的所有值加上10。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for key in my_dict: my_dict[key] += 10 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ζ小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值