Python中字典的相关操作介绍

 更新时间:2022年02月09日 08:48:36   作者:Mar丶流年  
大家好,本篇文章主要讲的是Python中字典的相关操作介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

字典的添加与修改

# coding:utf-8

if __name__ == '__main__':
    example = {'name': 'xie', 'age': 27}
    example2 = example.copy()
    example3 = example.copy()
    '''
     例1:使用dict[key] = value,这种方法如果dict中存在该key,则修改该key上的值=value,不存在该key,则创建该key=>value
     例2:使用dict.setdefault(key,value),当dict中存在该key,则啥都不干。当dict中不存在该key,则创建该key=>value
     dict.setdefault(key,value) 会返回dict[key]的值
     例3:使用dict.update(dict2),可以理解成为两个字典的合并,重复时以dict2的key=>value 为准
    '''

    # 例1
    example['school'] = '城南'
    print(example)  # {'name': 'xie', 'age': 27, 'school': '城南'}
    example['name'] = 'rui'
    print(example)  # {'name': 'rui', 'age': 27, 'school': '城南'}

    # 例2
    result = example2.setdefault('name', 'rui')
    print(result)  # xie
    print(example2)  # {'name': 'xie', 'age': 27}
    result = example2.setdefault('school', '城南')
    print(result)  # 城南
    print(example2)  # {'name': 'xie', 'age': 27, 'school': '城南'}

    # 例3
    example3.update({'name': 'rui'})
    print(example3)  # {'name': 'rui', 'age': 27}
    example3.update({'name': 'xiang', 'school': '城南'})
    print(example3)  # {'name': 'xiang', 'age': 27, 'school': '城南'}

获取字典所有的key

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:通过dict.keys() 获取dict所有key组成的伪列表
    伪列表:只能看。不能修改,删除元素
    通过list(dict_keys)能将伪列表变成真列表
    '''

    # 例1
    example = {'name': 'xie', 'age': 27, 'sex': '男'}
    keys = example.keys()
    print(keys)  # dict_keys(['name', 'age', 'sex'])
    print(type(keys))  # <class 'dict_keys'>
    print(type(list(keys)))  # <class 'list'>

获取字典所有的value

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:通过dict.values()获取dict中所有value组成的伪列表
    通过list(dict_keys)将伪列表转成真列表
    '''
    
    # 例1
    example = {'name': 'xie', 'age': 27, 'sex': 'man'}
    values = example.values()
    print(values)  # dict_keys(['name', 'age', 'sex'])
    print(type(values))  # <class 'dict_keys'>
    print(type(list(values)))  # <class 'list'>

获取字典key上的valule

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:通过dict[key]获取value,如果key不存在则报错
    列2:通过dict.get(key,default)获取key,如果key不存在则返回default,default默认None,性能比dict[key]小一丢丢,但不用去管报错的情况
    '''

    example = {'name': 'xie', 'age': 27, 'sex': 'man'}
    # 例1
    print(example['name'])  # xie
    # print(example['school'])报错

    # 例2
    print(example.get('name'))  # xie
    print(example.get('school'))  # None
    print(example.get('school', '城南花已开'))  # 城南花已开

字典清空

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:dict.clear()得到一个空字典
    '''

    example = {'name': 'xie'}
    # 例1
    example.clear()
    print(example)  # {}

通过索引删除字典元素

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:dict.pop(key)删除字典key上的key=>value,如果key不存在,则报错
        dict.pop(key)返回删除前dict[key]上的value
    '''

    example = {'name': 'xie', 'age': 27}
    print(example.pop('age'))  # 27
    print(example)  # {'name': 'xie'}
    # example.pop('sex') sex在字典中不存在,报错

删除字典最后一个元素

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:dict.popitem()删除最后一个元素的key=>value,如果dict是空字典则报错
        dict.popitem()返回被删除元素key,value组成的元组(key,value)
    '''
    example = {'name': 'xie', 'age': 27}

    # 例1
    print(example.popitem())  # ('age', 27)
    print(example)  # {'name': 'xie'}
    example.popitem()
    # example.popitem() 空字典调用popitem会报错

到此这篇关于Python中字典的相关操作介绍的文章就介绍到这了,更多相关Python字典内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyTorch高级教程之自定义模型、数据加载及设备间数据移动

    PyTorch高级教程之自定义模型、数据加载及设备间数据移动

    在深入理解了PyTorch的核心组件之后,我们将进一步学习一些高级主题,包括如何自定义模型、加载自定义数据集,以及如何在设备(例如CPU和GPU)之间移动数据,需要的朋友可以参考下
    2023-07-07
  • Python按天实现生成时间范围序列的方法详解

    Python按天实现生成时间范围序列的方法详解

    有的时候我们希望生成一段时间返回,比如从 2022-01-01 00:00:00 后面的 10 天,这么 10 个 datetime 对象,但是我们又不想自己去计算哪些月有30天哪些月有31天。所以本文将用Python实现按天自动生成时间范围序列,需要的可以参考一下
    2022-11-11
  • 定位python内存泄漏问题及解决

    定位python内存泄漏问题及解决

    这篇文章主要介绍了定位python内存泄漏问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 判断python对象是否可调用的三种方式及其区别详解

    判断python对象是否可调用的三种方式及其区别详解

    今天小编就为大家分享一篇判断python对象是否可调用的三种方式及其区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python数据结构之栈详解

    Python数据结构之栈详解

    栈和队列是在程序设计中常见的数据类型,从数据结构的角度来讲,栈和队列也是线性表,是操作受限的线性表。本文将详细介绍一下Python中的栈,感兴趣的可以了解一下
    2022-03-03
  • 用Python的Django框架来制作一个RSS阅读器

    用Python的Django框架来制作一个RSS阅读器

    这篇文章主要介绍了用Python的Django框架来制作一个RSS阅读器,通过url feeds来制作订阅类应用同样是Django之所长,需要的朋友可以参考下
    2015-07-07
  • Python使用turtle模块绘制爱心图案

    Python使用turtle模块绘制爱心图案

    这篇文章主要为大家详细介绍了Python使用turtle模块绘制爱心图案,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • NumPy之矩阵向量线性代数等操作示例

    NumPy之矩阵向量线性代数等操作示例

    这篇文章主要为大家介绍了NumPy之矩阵向量线性代数等操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 简单了解django缓存方式及配置

    简单了解django缓存方式及配置

    这篇文章主要介绍了简单了解django缓存概述及配置,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,需要的朋友可以参考下
    2019-07-07
  • 对于Python的Django框架部署的一些建议

    对于Python的Django框架部署的一些建议

    这篇文章主要介绍了对于Python的Django框架部署的一些建议,包括项目文件的布局等,需要的朋友可以参考下
    2015-04-04

最新评论