热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python之字典的创建与使用

目录Python之字典字典的创建1.直接创建2.利用dict函数转化为字典(1)、将元组转化为字典(2)、将列表转化为字典(3)、直接使用keyvalue字典的默认赋值生成字典字典

目录

    • Python之字典
      • 字典的创建
        • 1.直接创建
        • 2.利用dict函数转化为字典
          • (1)、将元组转化为字典
          • (2)、将列表转化为字典
          • (3)、直接使用key=value
      • 字典的默认赋值
      • 生成字典
      • 字典的使用
        • 1、字典的基本操作
        • 2、字典的常用函数
          • (1)、len(参数)
          • (2)、hash(参数)
          • (3)、字典遍历
          • (4)、update(参数)
          • (5)、clear()
          • (6)、其他字典常用函数
        • 3、小案例之使用字典获取JSON的键值
        • 4、小案例之字典充当可变长关键字参数


Python之字典

字典是Python内建的一个数据类型,每一个key都会有一个value绑定,通过key值寻找value极为方便。

字典的创建


1.直接创建

aInfo = {'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}

2.利用dict函数转化为字典


(1)、将元组转化为字典

info = [('Wangdachui',30000),('Niuyun',2000),('Tianlong',8000)]
bInfo = dict(info)#若元组的元素也是元组也可以转化为字典
d = dict((('wangdachui',3000),('Niuyun',2000),('Tianlong',8000)))

(2)、将列表转化为字典

cInfo = dict([['Wangdachui',3000],['Niuyun',2000],['Tianlong',8000]])

(3)、直接使用key=value

dInfo = dict(wangdachui=3000,Niuyun=2000,Tianlong=8000)

字典的默认赋值

创建时使用fromkeys将字典里的所有的value默认设置为某个值

Dict = {}.fromKeys(('Wangdachui','Niuyun','Tianlong'),3000)
//fromkeys(s,v)函数的第一个参数s只要是序列就可以,所以不管是元组还是列表都可以

生成字典

可以使用zip函数将两个已存在list打包,然后使用dict函数生成字典

List1 = ['wangdachui','Niuyun','Tianlong']
List2 = [3000,2000,8000]
Dict = dict(zip(List1,List2))

也可以直接使用赋值的方式生成

Dict = {}
List1 = ['wangdachui','Niuyun','Tianlong']
List2 = [3000,2000,8000]
for data1,data2 in List1,List2:Dict[data1] = data2

字典的使用


1、字典的基本操作

aInfo = {'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
#键值查找
aInfo['Wangdachui']
aInfo.get('Wangdachui') #此种方法当key不存在时不会发生异常而导致程序中断
#键值更新
aInfo['Tianlong']=9000
#添加新键值
aInfo['Xiaoming']=7000
#成员判断
'Xiaoming' in aInfo
#删除字典成员
del aInfo['Xiaoming']

2、字典的常用函数


(1)、len(参数)

len函数是用来获取字典元素个数

(2)、hash(参数)

hash函数是用来判断传入的对象是否可哈希(可变)

(3)、字典遍历

aInfo = {'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}#获取字典的keyaInfo.keys()#获取字典的键值aInfo.values()#遍历字典for k, v in aInfo.items():

(4)、update(参数)

update函数是对字典进行更新,包括键值的修改和元素的增加

aInfo = {'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
bInfo = {'Wangdachui':3000,'Niuyun':5000,'Xiaoming':7000}
anInfo.update(bInfo)

(5)、clear()

clear函数是对字典进行清空操作

aInfo = {'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
aInfo.clear()

(6)、其他字典常用函数

pop(键值)、setdefault()、items()
提取字典的键值的非循环方法

x = {'a':3, 'b':4}
y = list(x.items())
print(y[0])
print(y[1])
>>> ('a', 3)
>>> ('b', 4)print(y[0][0])
print(y[0][1])
>>> a
>>> 3

3、小案例之使用字典获取JSON的键值

x = {"name":"wangwu","address":{"city":"Nanjing","area":"xuanwu"}}
x ['address']['city']

4、小案例之字典充当可变长关键字参数

元组可以充当可变长位置参数,用一个小星号来表示。而字典可以充当可变长关键字参数,用两个小星号来表示。

def func(args1,*argst,**argsd):print(args1)print(argst)print(argsd)
func('Hello','Wangdachui','Niuyun','Linling',a1=1,a3=3,a2=2)

可变长关键字参数样例输出


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
author-avatar
所谓一叶随缘_212
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有