博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基础数据类型之字典
阅读量:6411 次
发布时间:2019-06-23

本文共 2481 字,大约阅读时间需要 8 分钟。

一:字典

      字典是python中非常重要的数据类型,在python中唯一一个映射的数据类型。字典中key是唯一的且 是不可变数据类型,value:任意数据类型。如:

dic = {"name":"jin","age":18,"sex":"male"},字典能存放大量的数据类型,且关联性较强。

二:关于字典的相关操作

1,增

dic["key"]=value,有key,就修改键值对,没有key,就按照此key添加新的键值对。

dic.setdefault("key","vaule"),如果字典中含有此key,则字典不进行任何操作;如果字典中不含有此key,则在字典中添加该键值对。具体程序如下:

dic = {
"name":"jin","age":18,"sex":"male"}dic["山地车"]="ashda"print(dic)dic['name']="scd"print(dic)dic.setdefault("hobby") #添加键值对print(dic)dic.setdefault("hobby","船长")print(dic)dic.setdefault("得到","dsfas")print(dic)dic.setdefault("name","dsfas")print(dic)
View Code

2,删

pop,按key删除 ,形式为dic.pop("key")而且有返回值,返回值是按key所删除的vaule,如果没有此key,则会报错,不过可以自己设置返回值,这样就不会报错。

del ,形式为del dic["key"]   删除字典,按key删除键值对,如果没有此key,则会报错。

popitem,形式为dic.popitem() ,随机删除,有返回值,返回值就是删除的键值对(元组的形式)。

clear ,直接清空字典。关于删的具体程序如下:

dic = {
"name":"jin","age":18,"sex":"male"}dic.pop("key")dic.pop("name")print(dic)ret=dic.pop("name")print(ret)ret=dic.pop("sss","没有次键")print(ret)dic.clear()print(dic)del dic["name"]print(dic)ret=dic.popitem()print(ret)print(dic)
View Code

3,改

dic["key"]=value, 按照key去修改键值对,有key,就修改;没有就添加该键值对。

update 将dic的键值对添加到dic2 中,如果key相同,则覆盖dic2 中的键值对;dic不变。具体程序如下:

dic = {
"name":"jin","age":18,"sex":"male"}dic["name"]="fds"print(dic)dic = {
"name":"jin","age":18,"sex":"male"}dic2 = {
"name":"alex","weight":75}dic2.update(dic)print(dic)print(dic2)
View Code

4,查

print(dic["key"]),按照key进行查找,若有key,则打印其所对应的value;若没有此key,则报错。

print(dic.get("key")),按照key进行查找,若有key,则打印其所对应的value;若没有此key,不会报错,默认返回值是None,返回值也可以自己设置。

dic = {
"name":"jin","age":18,"sex":"male"}print(dic['name'])print(dic['name2'])print(dic.get('name'))print(dic.get('name2'))print(dic.get('name2','没有此键值对'))
View Code

三:字典的嵌套

dic = {    'name':'金鑫',    'name_list':[1,2,3,'李杰'],    1:{        'python10':['小黑','萌哥'],       '老男孩':{
'name':'oldboy','age':56} }}#1,[1,2,3,'李杰']追加'wusir'#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:dsfprint(l.append('wusir'))print(l)dic['name_list'].append('wusir')print(dic)l = dic[1]['python10']l.insert(1,'花哥')print(dic)dic1 = dic[1]dic2 = dic1['老男孩']dic2['hobby'] = 'dsf'dic[1]['老男孩']['hobby'] = 'dsf'# print(dic)
View Code

四:用for循环打印字典中的元素,具体程序如下:

#打印字典中的keys#方法一:for k in dic:    print(k)#方法二:    for k in dic.keys():    print(k)#打印字典中的valuesfor v in dic.values():    print(v)#打印字典中的键值对#方法一:for k,v in dic.items():    print(k,v)#方法二:    for k in dic:    print(k,dic[k])
View Code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/leiwei123/p/8352348.html

你可能感兴趣的文章
企业IM-3 InIOCP组件介绍-Client管理
查看>>
虚拟机中的Linux安装VMware Tools的方法
查看>>
JSP学习笔记(一)
查看>>
chromedriver@2.X.X install: `node install.js` 问题
查看>>
Android 来去电自动录音 (三)
查看>>
rpmbuild
查看>>
网络中均分负载流量
查看>>
OpenStack封装Windows镜像之Installing Cloudbase-Init
查看>>
Spring-基于Spring自定义标签
查看>>
Centos+iptables+l7-filter 封QQ MSN和P2P
查看>>
Code First Migrations 更新数据库结构(EF数据迁移)
查看>>
Linux 的启动流程http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html
查看>>
关于 NTP 的一些问题
查看>>
领域驱动设计实战—基于DDDLite的权限管理OpenAuth.net
查看>>
去掉tomcat配置文件中的注释选项
查看>>
JavaScript—数组(17)
查看>>
工信部:云计算将成新一代信息技术发展重点
查看>>
配置SCCM 2012 SP1(六)发布应用程序
查看>>
《safe+》离线密码更安全,一键修改最方便
查看>>
正则表达式简明参考
查看>>