当前位置: 首页 > news >正文

Python中字典

1 问题

Python中字典是一种可变的数据类型且可以储存任意类型的对象。现对字典部分内置方法及其功能进行介绍。

2 方法

具体方法如下

  1. dict.clear():删除字典中的所有元素。

  2. dict.get(key,default=None):返回指定键的值,如果值不在字典中返回default值。

  3. key in dict:如果键在字典dict中返回True,否则返回False。

  4. dict.items():以列表返回可遍历的(键,值)元组数组。

  5. dict.keys:返回一个迭代器,可以使用list()转换为列表。

  6. dict.setdefault(key,default=None):和get()类似,但如果键不存在于字典中,将会添加键并将值设为defaul。

  7. dict.values():返回一个迭代器,可以使用list()转换为列表。

  8. pop(key[,default]):删除字典给定键对应的值,返回值为被删除的值。注意,key值必须给出,否则返回default的值。
    代码清单1

    # 创建一个字典

    my_dict = {'a': 1, 'b': 2, 'c': 3}

    # 使用 pop 方法获取并删除键 'a' 的值

    value_a = my_dict.pop('a')

    print(value_a) # 输出: 1

    print(my_dict) # 输出: {'b': 2, 'c': 3}

    # 尝试获取并删除一个不存在的键,如 'd',但不提供默认值

    # 这会引发 KeyError 异常

    # value_d = my_dict.pop('d') # 这行会抛出 KeyError


    # 提供默认值来避免 KeyError 异常

    value_d = my_dict.pop('d', 'default_value')

    print(value_d) # 输出: default_value

    print(my_dict) # 输出: {'b': 2, 'c': 3}('d' 键从未存在,所以字典未改变)

  9. popitem():随机返回并删除字典中的最后一堆键和值。

代码清单2

# 创建一个字典

my_dict = {'a': 1, 'b': 2, 'c': 3}

# 使用 popitem() 方法移除并返回一个键值对

key, value = my_dict.popitem()

print(key) # 输出可能是 'a', 'b', 'c' 中的任意一个,取决于 Python 的实现和字典的插入顺序

print(value) # 输出与上面的 key 对应的值

print(my_dict) # 输出移除一个键值对后的字典

# 如果字典为空,调用 popitem() 会抛出 KeyError 异常

# my_dict = {}

# key, value = my_dict.popitem() # 这行会抛出 KeyError,因为字典为空

3 结语

字典的内置方法提供了对字典进行各种操作的功能。以上介绍了字典的部分内置方法及其功能,如popitem()、pop(key[,default])等涉及到键和值的返回删除。这些方法使得字典的操作更加灵活和高效。

http://www.cnnetsun.cn/news/2566.html

相关文章:

  • 新发传染病防控中的技术创新与公平性挑战:从监测预警到应急响应的综合视角
  • 计算机视觉技术驱动下的智能油藏建模与数据同化方法体系研究
  • 当“落日楼台一笛风“遇见AI算法
  • 如何使用pytorch模拟Pearson loss训练模型
  • flowmix/flow 可视化工作流编辑器, 开源!
  • 2025 年程序员薪资水平排行前十的城市
  • 2026年六大未来产业发展趋势与人工智能八大落地场景洞察(附下载)
  • 【人工智能+】人工智能+交通领域应用方案(附下载)
  • ChatGPT共享链接钓鱼攻击新套路:伪装实用指南诱导手动植马
  • AI重构竞争格局:企业级应用的爆发与价值分化
  • Redis 分布式锁的 5个坑,真是又大又深!
  • Go Flight Recorder 终于来了,线上问题可以 “回放“ 了!
  • 【docker】——不启用docker的启动命令,使用自己的
  • py每日spider案例之7点影视链接获取
  • py每日spider案例之某website之影视链接解密(jsjiamiv7混淆)
  • 校园竞赛管理系统(11436)
  • 校园生活服务平台(11437)
  • 校园失物招领网站(11438)
  • 校园食堂订餐系统(11439)
  • 校园新闻管理系统的设计与开发(11440)
  • SWF格式转换RM格式详细指南
  • 选购压敏电阻摆盘机的7个避坑点:第5点让80%的买家在验收时陷入被动
  • 前端开发必看:自定义事件与localStorage监听实战指南(附调试技
  • 大数据开发者的高效利器:深入掌握 Array.reduce 实战技巧
  • 前端必看:用Canvas轻松压缩图片并玩转Base64与File互转
  • [鸿蒙2025领航者闯关] HarmonyOS深色模式实现
  • [鸿蒙2025领航者闯关]使用RelationalStore实现增删改查(CRUD)操作
  • 启点创新智慧文旅景区系统,智慧景区云平台,景区一码游系统
  • 分布式组网架构设计:从BitTorrent DHT到现代SD-WAN的演进
  • 基于VUE的药品在线销售管理系统[VUE]-计算机毕业设计源码+LW文档