文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何进行Python中Dict的元素定位和遍历

2023-06-22 02:52

关注

这篇文章将为大家详细讲解有关如何进行Python中Dict的元素定位和遍历,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

dict 的元素定位(键/值定位)和遍历

dict这种对象我们可以通过 keys() 获取所有的键的列表;

dict这种对象我们可以通过 values() 获取所有的值的列表.

这样有列表我们可以遍历整个dict对象。

但是更多使用下面的风格:

mydict = {    'name': 'leixuewei',    'date': '20211104'}print("遍历字典-----开始")for k, v in mydict.items():    print("key[%s] = value[%s]" % (k, v))  # 直接打印print("遍历字典-----结束")

这几行代码是可以直接复制运行。

下面学委准备了更加全面的代码,展示了获取key/value和遍历操作等:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/3 11:34 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : dict_demo3.py# @Project : hello# 比如学委的信息作为一个字典info_dict = dict()info_dict['name'] = 'LEI_XUE_WEI'  # 或者改为 'levin'info_dict['blogs'] = '93'  # 目前发表了93个博客文字。info_dict['gongzhong_hao'] = '【雷学委】'  # 欢迎过来关注支持info_dict['meta-data'] = dict()print("包含特定key ?%s" % ('gongzhong_hao' in info_dict))print('所有键的列表:%s ' % info_dict.keys())print('所有值的列表:%s ' % info_dict.values())print('获取key对应的值:', info_dict['name'])# 获取但是不设置到info_dict内print('获取key DemoKey 对应的值:', info_dict.get('DemoKey', '匿名用户雷学委'))# print('获取key对应的值:', info_dict['DemoKey']) #这句会抛出异常:KeyError: 'DemoKey'# 如果没有某个key,进行设置默认值并返回print('获取key name对应的值:', info_dict.setdefault('name', '匿名用户雷学委'))print('获取key DemoKey 对应的值:', info_dict.setdefault('DemoKey', '匿名用户雷学委'))print('获取key DemoKey 对应的值:', info_dict['DemoKey'])print("遍历字典-----开始")for key, value in info_dict.items():    print("\tkey[%s] = value[%s]" % (key, value))print("遍历字典-----结束")info_dict.clear()  # 清空整个字典对象

效果如下:

如何进行Python中Dict的元素定位和遍历

这些操作都是比较基础,但是必须随手就来的,所以必须敲熟了。

dict的复制(拷贝)

字典的复制可以通过copy函数来实现,但是它是浅拷贝,也就是拷贝了但不完全拷贝

简单来说就是拷贝key,但是新字典的值还是沿用旧字典的值的引用。

这里也顺带提一提fromkeys函数,这个创建的新字典,只照搬了key列表,新字典内所有值都是空的。

说这么多,我们看看字典的代码示例:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/3 11:34 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : dict_demo4.py# @Project : hello'''dict的拷贝问题'''# 比如学委的信息作为一个字典info_dict = dict()info_dict['name'] = 'LEI_XUE_WEI'  # 或者改为 'levin'info_dict['blogs'] = '93'  # 目前发表了93个博客文字。info_dict['gongzhong_hao'] = '【雷学委】'  # 欢迎过来关注支持info_dict['meta-data'] = dict()# 选择指定key列表局部拷贝keys_copied_dict = info_dict.fromkeys(['name', 'blogs', 'zone'])print("keys_copied_dict :", keys_copied_dict)# 浅拷贝//Shadow Copy: 全拷贝但不完全拷贝copied_dict = info_dict.copy()print("copied_dict :", copied_dict)shadow_copied_dict = info_dict.copy()print('shadow_copied_dict:', shadow_copied_dict)## 雷学委提示:下面一行代码修改了‘meta-data'这个key对应的值,我们并没有直接修改shadow_copied_dictinfo_dict['meta-data']['date'] = '04 Nov 2021'print('info_dict:', info_dict)print('shadow_copied_dict:', shadow_copied_dict) # 这里输出看到变化也传递给了 shadow_copied_dictprint("*"*16 + "清空info_dict")info_dict.clear()print('info_dict:', info_dict)  # clear 清空元素后 打印info_dictprint('shadow_copied_dict:', shadow_copied_dict)  # clear 清空元素后打印 copied_dict

效果如下:

如何进行Python中Dict的元素定位和遍历

关于如何进行Python中Dict的元素定位和遍历就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯