python语言中的数据类型之字典

数据类型

字典类型dict
  • 用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性

  • 定义方式:在{ }用逗号分隔开多个元素,每个元素都是key:value形式,其中key是不可变类型,通常是字符串类型,而value是任意类型。

  • 类型转换:

    d=dict(x=1,y=2,z=3)
    print(d)
    print(type(d))
    #第一种类型转换
    items=[('name','egon'),('age',18),('gender','male')]
    d={}
    for item in items:d[item[0]]=item[1]
    print(d)
    #列表转换成字典  第二种
    items=[('name','egon'),('age',18),('gender','male')]
    d=dict(items)
    print(d)
    #第三种方法
    ​
    ​
    # 了解
    keys=['name','age','gender','height','weight']
    # d={}
    # for key in keys:
    #     d[key]=None
    ​
    d={}.fromkeys(keys,None)
    print(d,type(d))

     

常用操作+内置方法

1.按key存取值:可存可取

dic={'name':'egon','age':18}
print(dic['name'])
#这是按key 取 value值  如果key错误程序会报错
dic['name']='EGON'
print(dic)
#按key存值  根据key存入'EGON' (value)
dic['gender']='male'
print(dic)
#如果存入的key在字典中没有就会添加新的key:value
###在列表中如果索引没有添加的话会报错
l=['a','b','c']
l[0]='A'
print(l)
l[4]='AAA'
print(l)

 

2.长度  len

dic={'name':'egon','age':18}
print(dic)
print(len(dic))

 

3.成员运算   in 和  not  in

字典的成员运算是以字典的key为准的,如果找不到key则会显示False

dic={'name':'egon','age':18}
print('name'in dic)    #  True
print('egon'in dic)    #  False

 

4.删除    del/pop/

dic={'name':'egon','age':18}
del dic['name']
print(dic)
#del  的运用
​
dic={'name':'egon','age':18}
res=dic.pop('name')
print(dic)
print(res)
#pop  pop的返回值是与之对应的value值
​
ic={'name':'egon','age':18}
res=dic.popitem()
print(res)
print(type(res))
print(dic)
('age', 18)
<class 'tuple'>
{'name': 'egon'}
#popitem()  删除字典中的元组

 

5.键keys( ),值values(),键值对items()

在python2中对应的键keys(),values(),items()

#在python2中keys(),values(),items()会将全部对应值输出
>>> dic={'name':'egon','age':18}
>>> dic.keys()
['age', 'name']
>>> dic.values()
[18, 'egon']
>>> dic.items()
[('age', 18), ('name', 'egon')]
>>>#在python3中
>>> dic={'name':'egon','age':18}
>>> dic.keys()
dict_keys(['name', 'age'])
>>> dic.values()
dict_values(['egon', 18])
>>> dic.items()
dict_items([('name', 'egon'), ('age', 18)])

 

6.循环

dic={'name':'egon','age':18}
for k in dic:print(k)
#在字典中不加任何操作循环是循环key
dic={'name':'egon','age':18}
for k in dic.keys():    #循环keysprint(k)
for v in dic.values():  #循环valuesprint(v)
for k,v in dic.items(): #k,v=('name', 'egon')print(k,v)          #循环key:value

 

需要掌握的操作

7.update   更新

dic={'name':'egon','age':18}
dic.update({'height':175,'weight':180})
print(dic)
{'name': 'egon', 'age': 18, 'height': 175, 'weight': 180}
#语法    字典1.update(字典2)
#会将两个字典中相同的key:value保留,不同的添加到字典1
dic={'name':'egon','age':18}

 

8.setdefault

Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

#当key存在时,不改原值,返回原值
dic={'name':'egon','age':18}
res=dic.setdefault('name','EGON')
print(dic)
print(res)
{'name': 'egon', 'age': 18}
egon
​
#当key不存在时,增加新值
dic={'name':'egon','age':18}
res=dic.setdefault('gender','male')
print(dic)
print(res)
{'name': 'egon', 'age': 18, 'gender': 'male'}
male

 

###字典无序  可变

转载于:https://www.cnblogs.com/5j421/p/10006702.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hinton的GLOM模型与千脑理论有何本质不同?

来源&#xff1a;AI科技评论编译 &#xff1a;琰琰校对 &#xff1a;青暮Geoffrey Hinton在最新发表的一篇论文“如何在神经网络中表示部分-整体层次结构”中提出了一种被称为GLOM的新理论。关于GLOM模型与千脑理论&#xff08; Thousand Brains Theory &#xff09;之间有何差…

ThinkPHP3(添加,修改,删除)

实现商品的添加 1、在add.html页面中更改表单元素的名称 Goods控制器的add&#xff08;&#xff09;方法中获取商品分类 在add.html中循环获取 2、设置提交的位置 3、添加商品代码参见GoodsController.class.php 方法一&#xff1a; $this->redirect();也是跳转 方法二(用cr…

第二章 数据的表示和运算 2.1.1 进位计数制 [计算机组成原理笔记]

第二章 数据的表示和运算 2.1.1 进位计数制 本笔记参考书目&#xff1a; 计算机组成原理&#xff08;第六版.立体化教材&#xff09;白中英、戴志涛2021王道计算机组成原理视频公开课 本节重点&#xff1a; 二进制 <-> 八进制/十六进制十进制 -> 二进制 转载请注明…

重磅!脑机接口突破登Nature封面,脑中“笔迹”转屏幕文字破纪录,准确率超99%...

来源&#xff1a; 物联网之家研究团队将人工智能软件与一款脑机接口设备结合起来&#xff0c;与一名大脑中植入脑机接口设备的瘫痪患者合作&#xff0c;让该患者想象他拿着一支笔&#xff0c;在一张横线纸上“尝试”写字&#xff0c;就像他的手没有瘫痪一样。并将该男子手写意图…

python D28 粘包

一、两种粘包&#xff1a; MTU简单解释&#xff1a; MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。MTU的单位是字节。 大部分网络设备的MTU都是1500个字节&#xff0c;也就是1500B。如果本机一次需要发送的数据比网关的MTU大&#xff0c;大的数据包就…

第二章 数据的表示和运算 2.1.2 BCD码 [计算机组成原理笔记]

第二章 数据的表示和运算 2.1.2 BCD码 本笔记参考书目&#xff1a; 计算机组成原理&#xff08;第六版.立体化教材&#xff09;白中英、戴志涛2021王道计算机组成原理视频公开课 本节重点&#xff1a; 8421/2421/余3码 转载请注明文章来源&#xff01; BCD码 BCD&#xff…

世界因数学而改变

来源&#xff1a;数学中国1971年尼加拉瓜发行了十张一套题为“改变世界面貌的十个数学公式”邮票&#xff0c;由一些著名数学家选出十个以世界发展极有影响的公式来表彰。其实不难发现选出的“数学公式”很多都是物理学中的公式&#xff0c;当然正是因为有强大的数学&#xff0…

mysql 外键关联

mysql 外键关联 什么是外键:外键是一个特殊的索引&#xff0c;用于关联两个表&#xff0c;只能是指定内容。 如我将新建一个daka的表&#xff0c;然后将此表的class_id 与另外一个class的表的cid字段关联 class表: CREATE TABLE class ( cid int(11) NOT NULL AUTO_INCREMENT, …

第一章 计算机网络 4 性能指标 [计算机网络笔记]

第一章 计算机网络 4 性能指标 本笔记参考书目&#xff1a; 计算机网络&#xff08;第8版&#xff09;谢希仁2021王道计算机网络视频公开课 本节重点&#xff1a; 数据率/带宽/吞吐量时延/时延带宽积/RTT/利用率 转载请注明文章来源&#xff01; 速率/数据率 速率&#xf…

数字孪生卫星:概念、关键技术及应用

来源&#xff1a;问空天作者&#xff1a;刘蔚然&#xff0c;陶 飞&#xff0c;程江峰&#xff0c;张连超&#xff0c;易旺民摘 要&#xff1a;在分析卫星产业发展趋势与升级转型新需求后&#xff0c;为推动卫星与新技术融合发展&#xff0c;提升大型卫星工程的整体管理水平与流…

第一章 计算机网络 5 分层结构/协议/接口/服务的概念 [计算机网络笔记]

第一章 计算机网络 5 分层结构/协议/接口/服务的概念 本笔记参考书目&#xff1a; 计算机网络&#xff08;第8版&#xff09;谢希仁2021王道计算机网络视频公开课 本节重点&#xff1a; 分层结构/协议/接口/服务实体/对等实体PCI/SDU/PDU 转载请注明文章来源&#xff01; 分…

机器学习2021 | 机器学习算法如何商业落地?

来源&#xff1a;传感器技术未来十年最火的科技发展方向之一&#xff0c;那就是AI技术&#xff0c;而使其得到迅猛发展的就是机器学习了。机器学习&#xff0c;顾名思义&#xff0c;就是人类定义一定的计算机算法&#xff0c;让计算机根据样本和人为干预&#xff0c;进行归纳和…

运行期优化

前言 在部分的商用虚拟机中&#xff0c;Java程序最初是通过解释器进行解释执行的&#xff0c;当虚拟机发现某个方法或代码块运行特别频繁的时候&#xff0c;就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率&#xff0c;在运行时&#xff0c;虚拟机将会把这些代码…

第一章 计算机网络 6 OSI参考模型 [计算机网络笔记]

第一章 计算机网络 6 OSI参考模型 本笔记参考书目&#xff1a; 计算机网络&#xff08;第8版&#xff09;谢希仁2021王道计算机网络视频公开课 本节重点&#xff1a; OSI参考模型的7层次结构及其功能OSI参考模型数据传输的过程 转载请注明文章来源&#xff01; 计算机网络的…

系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream

目录&#xff1a;系统学习 Java IO---- 目录&#xff0c;概览 PipedInputStream 类使得可以作为字节流读取管道的内容。 管道是同一 JVM 内的线程之间的通信通道。 使用两个已连接的管道流时&#xff0c;要为每个流操作创建一个线程&#xff0c; read() 和 write() 都是阻塞方法…

第二章 数据的表示和运算 2.1.3 字符与字符串 [计算机组成原理笔记]

第二章 数据的表示和运算 2.1.3 字符与字符串 本笔记参考书目&#xff1a; 计算机组成原理&#xff08;第六版.立体化教材&#xff09;白中英、戴志涛2021王道计算机组成原理视频公开课 本节重点&#xff1a; ASCII码/汉字编码字符串在内存中的表示 转载请注明文章来源&…

评阅百篇博士论文后我发现:博士生发SCI越多,通常科研能力越差!

来源&#xff1a;秦四清科学网博客 作者&#xff1a;秦四清多年来&#xff0c;我评阅了上百部博士学位论文&#xff0c;也参加了上百次的博士学位论文答辩会&#xff0c;我和不少老师有一个共同的深刻感受&#xff1a;在攻读博士期间&#xff0c;发表了多篇sci论文的博士生&…

第二章 数据的表示和运算 2.1.4 奇偶校验 [计算机组成原理笔记]

第二章 数据的表示和运算 2.1.4 奇偶校验 本笔记参考书目&#xff1a; 计算机组成原理&#xff08;第六版.立体化教材&#xff09;白中英、戴志涛2021王道计算机组成原理视频公开课 本节重点&#xff1a; 奇偶校验的方法/原理码距和检/纠错能力 转载请注明文章来源&#xf…

c# 常用数据库封装

我不为大家贴代码了&#xff0c;没有意思&#xff0c;有点多&#xff0c;我主要给大家介绍一下&#xff0c;源码会上传CSDN和GIT&#xff1b;我定义了一个ADO.NET操作接口&#xff0c;所有按照接口封装 1.sqlite数据库&#xff08;需要SQLite.Interop.dll&#xff0c;采用.NetS…

深入分析5nm芯片

来源&#xff1a; 半导体行业观察苹果公司于2020年10月发布了新型智能手机“iPhone 12”系列&#xff0c;搭载的是采用5纳米工艺的全球首个名为“A14 BIONIC”芯片。苹果公司将“A14 BIONIC”芯片应用到了iPhone 12、新款“iPad Air”。2020年11月苹果公司又发布了搭载“Apple …