详解Python中的Dict

 更新时间:2021年12月15日 16:54:47   作者:雷学委  
这篇文章主要为大家介绍了Python中的Dict,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

什么是dict?

dict全称为dictionary(字典),人如其名,像字典一样可以根据索引定位到特定的文字。

在python的dict中,我们可以通过key来定位到特定的value。

如上图,这就是dict的内部结构。key vs value 这样的配对,key3再次套娃嵌套内部取出来也是一个dict。

如此反复,一个dict可以变得很多层次,但是特征还是key value一一配对,只是value能是普通类型也能是dict。

之前说了list是一连串的数据,唯一找到元素的方式是通过下标逐个寻觅,从某种角度来看,list算是一个有下标为key的字典了。(当然严格来说list和dict是完全不同的两种数据类型)。

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

dict1 = dict()
dict1['location'] = 'Guangdong'
dict2 = {'name':'雷学委', 'langs':['Java', 'Scala', 'NodeJs', 'Python'] }

代码中的dict1 和 dict2 这两个都是字典。

我们下面看看dict的增删查改

跟list类似,dict内的元素说可以修改的(mutable)。

我们可以直接使用类似如下代码,对特定键的值重新赋值。

dict['key1'] = new_value #对dict对象的key1键重新赋值。

下面我们直接看代码,一遍过一下添加/删除/更改元素以及清空字典的操作。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/3 11:34 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : __init__.py.py
# @Project : hello
# 比如学委的信息作为一个字典
info_dict = dict()
print('info_dict:', info_dict)
# 添加元素到信息字典
info_dict['name'] = '雷学委'
print('info_dict:', info_dict)
# 更新为英文名
info_dict['name'] = 'LEI_XUE_WEI'  # 或者改为 'levin'
info_dict['blogs'] = '93'  # 目前发表了93个博客文字。
info_dict['gongzhong_hao'] = '【雷学委】'  # 欢迎过来关注支持
print('info_dict:', info_dict)
print('gongzhong_hao:', info_dict['gongzhong_hao'])
del info_dict['blogs']  # 删除元素
print('info_dict:', info_dict)
info_dict.clear()
print('info_dict:', info_dict)  # clear 清空元素后可以打印dict
del info_dict  # 直接删除整个信息字典
# print('info_dict:', info_dict) 不能在打印了

效果如下:

特别指出,为了让程序不会中断,我们拿到一个陌生的dict通常会写类似如下代码:

#我们也经常会用这种写法,来获取某个key的值,这样程序不会被异常中断
gongzhonghao = info_dict['gongzhong_hao'] if 'gongzhong_hao' in info_dict else 'N/A'
print('gongzhong_hao:', gongzhonghao)

总结

dict使用起来很方便,非常轻松就根据某个key定位到值了。

我们开发中经常用到这种结构,不管是Python/Java,几乎所有开发都会用到字典类型。

所以python初学者务必把dict操作搞熟练,更多函数可以看dict的源码

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Python 静态导入与动态导入的实现示例

    Python 静态导入与动态导入的实现示例

    Python静态导入和动态导入是指导入模块或模块内部函数的两种方式,本文主要介绍了Python 静态导入与动态导入的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Pyqt5实现英文学习词典

    Pyqt5实现英文学习词典

    这篇文章主要为大家详细介绍了Pyqt5实现英文学习词典的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Python爬虫实现Cookie模拟登录

    Python爬虫实现Cookie模拟登录

    这篇文章主要介绍了Python爬虫实现Cookie模拟登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 浅谈Python中的私有变量

    浅谈Python中的私有变量

    本篇文章给大家讲述了Python中的私有变量相关的知识点内容,学习后大家会对私有变量有更系统的了解。
    2018-02-02
  • python脚本生成caffe train_list.txt的方法

    python脚本生成caffe train_list.txt的方法

    下面小编就为大家分享一篇python脚本生成caffe train_list.txt的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • numpy中的掩码数组的使用

    numpy中的掩码数组的使用

    本文主要介绍了numpy中的掩码数组的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python基于机器学习预测股票交易信号

    python基于机器学习预测股票交易信号

    近年来,随着技术的发展,机器学习和深度学习在金融资产量化研究上的应用越来越广泛和深入。目前,大量数据科学家在Kaggle网站上发布了使用机器学习/深度学习模型对股票、期货、比特币等金融资产做预测和分析的文章。本文就来看看如何用python预测股票交易信号
    2021-05-05
  • 详解如何用Python模拟登录淘宝

    详解如何用Python模拟登录淘宝

    最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章!本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • anaconda安装后打不开解决方式(亲测有效)

    anaconda安装后打不开解决方式(亲测有效)

    Anaconda是一个和Canopy类似的科学计算环境,但用起来更加方便,下面这篇文章主要给大家介绍了关于anaconda安装后打不开解决的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Python输入圆半径,计算圆周长和面积的实现方式

    Python输入圆半径,计算圆周长和面积的实现方式

    这篇文章主要介绍了Python输入圆半径,计算圆周长和面积的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论