当前位置: 首页 > news >正文

python字典的一些操作_python 字典的一些操作

创建字典的方式

方式一:

a={'a':1,'b':2,'c':3}

方式二:

a = dict(a=1,b=2,c=3)

方式三:

seq = ('z', 'x', 'y')

di = dict.fromkeys(seq, 10) #fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

print(di) #没有10时键默认None{'z':None, 'x':None, 'y':None}

print(di) #{'z':10, 'x':10, 'y':10}

-------------------------------

常用方法:

dic1 = {"apple":"001", "dog":"002", "cat":"dog", "jack":"ros"}

dic2 = {"郭靖":"黄蓉", "张无忌":"赵敏", "杨过":"小龙女", "apple":"苹果"}

print(dic.keys()) #返回迭代器 dict_keys(['apple', 'dog', 'cat', 'jack'])

print(list(dic.keys())) #用list直接转换成列表 ['apple', 'dog', 'cat', 'jack']

print(dic.values()) #同上

print(dic.items()) #dict_items([('apple', '001'), ('dog', '002'), ('cat', 'dog'), ('jack', 'ros')])

print(list(dic.items())) #[('apple', '001'), ('dog', '002'), ('cat', 'dog'), ('jack', 'ros')]

dic.setdefault("apple", '100') #设置值,K存在,返回Key对应的值,Key不存在,就添加到字典,返回刚设置的值

dic1.update(dic2) #d1中没有键的就添加进来,d1中有的键,其值就用d2中的值替换

dic1.get("apple", "默认") #返回指定键对应的值,没有就返回默认

str(dict)输出字典可打印的字符串表示.

dict.copy()返回一个字典的浅拷贝

dict.has_key(key)如果键在字典dict里返回true,否则返回false,python3没有该方法

字典删除:

dic1 = {"apple":"001", "dog":"002", "cat":"dog", "jack":"ros"}

del dic1["apple"]

del dic1 删除此字典

dic1.clear() 清空字典

print(dic.pop("apple", "NoKey")) #删除apple:001 这对元素,返回key对应的值,不存在键,就返回默认值NoKey

print(dic.popitem()) #返回并删除字典中的最后一位键值对,如果字典已经为空,却调用了此方法,就报出 KeyError 异常

python实现两个字典合并

方法一:借助dict(d1.items() + d2.items())的方法

1 a={'a':1,'b':2,'c':3}2 b= {'aa':11,'bb':22,'cc':33}3 dict(a.items()+b.items())4 #结果:

5 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法二:借助字典的update()方法

1 a={'a':1,'b':2,'c':3}2 b= {'aa':11,'bb':22,'cc':33}3 c={}4c.update(a)5c.update(b)6 print(c)7 #结果:

8 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法三:借助字典的dict(d1, **d2)方法

1 a={'a':1,'b':2,'c':3}2 b= {'aa':11,'bb':22,'cc':33}3 dict(a,**b)4 #结果:

5 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法四:借助字典的常规处理方法

1 a={'a':1,'b':2,'c':3}2 b= {'aa':11,'bb':22,'cc':33}3 c ={}4 for k,v ina.items():5 c[k] =v6 for k,v inv.items():7 c[k] =v8 print(c)9 #结果:

10 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

python 遍历字典

遍历键:

1 dict = {'Name': 'Runoob', 'Age': 7}2 for i indict:3 print(i)

遍历值:

1 dict = {'Name': 'Runoob', 'Age': 7}2 for i indict.values()3 print(i)

遍历键和值:

1dict.items()2 for key,value indict.items():3 print(key)4 print(value)

相关文章:

  • git 如何重新登录github_GitHub多账号管理
  • 解决python脚本连接终止问题_paramiko:自动终止远程启动的进程
  • eclipse ide for c/c++_重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮
  • eclipse启动springboot项目_教程:Systemctl启动SpringBoot项目
  • 非管理员用户使用iis_(七)使用管理员身份新增使用用户
  • php制作万年历的步骤_Excel 制作偶像万年历
  • 循环buffer的实现_用PHP实现高并发服务器
  • 统计一行文本的单词个数_【我爱背单词】从300万单词中给你一份3000英语新闻高频词汇...
  • hbase查询语句_Phoenix+Hbase二级索引
  • kafka源码_Kafka源码阅读之:日志段kafka.log.LogSegment
  • python怎么安装re模块_python模块模块re
  • java练习_java练习本(原每日一练)(20190429)
  • java 工厂模式_设计模式中的工厂模式,一文就能看懂(java实现)
  • redis 消息离线缓存_数据库缓存最终一致性的四种方案
  • java年月日时分秒格式_java百战之路
  • JavaScript-如何实现克隆(clone)函数
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • E-HPC支持多队列管理和自动伸缩
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JSDuck 与 AngularJS 融合技巧
  • Linux CTF 逆向入门
  • magento2项目上线注意事项
  • Redis在Web项目中的应用与实践
  • Vue2.x学习三:事件处理生命周期钩子
  • 安装python包到指定虚拟环境
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 从伪并行的 Python 多线程说起
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 那些被忽略的 JavaScript 数组方法细节
  • 前嗅ForeSpider教程:创建模板
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 实习面试笔记
  • 推荐一个React的管理后台框架
  • 微服务入门【系列视频课程】
  • 微信支付JSAPI,实测!终极方案
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 阿里云ACE认证学习知识点梳理
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #Java第九次作业--输入输出流和文件操作
  • #pragma once与条件编译
  • #QT项目实战(天气预报)
  • (3)STL算法之搜索
  • (HAL库版)freeRTOS移植STMF103
  • (java)关于Thread的挂起和恢复
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (已解决)什么是vue导航守卫
  • (原創) 未来三学期想要修的课 (日記)
  • (转载)hibernate缓存
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。