首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python基础 | 比系统自带dict()更方便的字典EasyDict

Python基础 | 比系统自带dict()更方便的字典EasyDict

作者头像
123rrrrr
发布于 2019-07-24 17:02:31
发布于 2019-07-24 17:02:31
2.7K0
举报

字典是平时开发中非常常用的一种数据结构,是一种典型的存储"key-value"形式的数据结构,使用字典能够非常方便的存储一些配置等信息。

如想利用字典存储一个学生的基本信息,代码如下:

代码语言:javascript
复制
student = dict()
student['name'] = 'chen'
student['age'] = 20
student['gender'] = 'male'

上面的代码非常的简单易懂,首先定义了一个系统自带的字典数据类型的变量student,然后存储key为name、age和gender的值。

现在要求增加一个新的需求,由于每位在校学生都有一张饭卡,饭卡上有卡号,院系等信息,此时该如何存储新增的信息呢?

代码语言:javascript
复制
student['card'] = dict()
student['card']['no'] = 10001
student['card']['department'] = 'cs'

上面的代码编写虽然完成了需求,但是阅读起来还是非常的不方便,有没有更加简洁易懂的形式呢?

本文将为大家介绍比系统自带的dict()更加方便的字典结构EasyDict,同时该结构也被大量的第三方库广泛使用。单从名字上也可以看到EasyDict是比dict()更加的简单。

第一步:安装第三方依赖库easydict。

代码语言:javascript
复制
pip install easydict

可以使用python的包管理软件pip快速完成安装。

第二步:导入依赖库easydict并给EasyDict别名edict。

代码语言:javascript
复制
from easydict import EasyDict as edict

第三步:使用edict重写上述代码。

代码语言:javascript
复制
student = edict()
student.name = 'chen'
student.age = 20
student.gender = 'male'

大家可以做下比较实用easydict后,代码变得更加简洁也更加易读。

当字典的key又是一个字典时,此时该如何处理?

代码语言:javascript
复制
student.card = edict()
student.card.no = 10001
student.card.department = 'cs'

相对于系统字典的处理方式,少了很多的引号,更加简洁。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档