1) get()方法。 字典可以直接用a[b]的方式访问字典项,但如果b不存在时,会报异常。为了避免这种情况,可以使用get()方法来访问字典项,a.get(b)当b存在时,结果和a[b]一样,如果b不存在,不会报异常,而是返回None。除此之外,get()方法还可以设置第二个参数,如果b不存在,可以将第二个参数做为默认值返回。

====================================

a = {}

a["a"] = "A"

print a["b"]                   #=> 异常

print a.get("b")            #=> None

c = a.get("b") or "B"    #=> c为“B”,这更类似于我们写别的程序时 c = xxx || "B"的思路

c = a.get("b","B")        #=> c为“B”,在python中也可以使用这样的写法。

====================================

2) 列表可以使用pop()方法弹出最末尾的元素,也可以通过pop(n)弹出指定索引的元素。而字典也有类似的用法。a.popitem()方法可以弹出字典中的一个元素,但这个元素是随机的,因为字典本身是无序的。a.pop(key)可以弹出指定key的项,类似于列表的pop(n)。

3) update()方法。 update方法类似于yui的merge()和jQuery的extend()。合并两个字典对象。

===================================

a = {"a":"A","b":"B"}

b = {"c":"C","b":"ABC"}

a.update(b)

print a      #=> {"a":"A","b":"ABC","c":"C"}

===================================

4) items()和iteritems()方法都普遍用于for循环的迭代中,不同的是items()返回的是列表对象,而iteritems()返回的是迭代器对象。两者的用法差不多,但iteritems()的性能更快。

5) 字典有自己的copy()方法,但它只是浅复制,如果用深复制的话,需要使用copy模块的deepcopy方法。(怎么跟js一个毛病?我靠,是谁借鉴了谁的思路吗?)

posted on

2010-07-17 20:39

真阿当

阅读(52)

评论(0)

编辑

收藏

python 字典类型问题_[ python ] 字典类型的一些注意问题相关推荐

  1. python知识笔记_[Python笔记]第一篇:基础知识

    二.为什么要使用Python 优点: 学习成本低 开发效率高–拥有丰富而且强大的第三方库 高级语言–不用关心底层运作细节 可扩展性–Python是一门胶水语言,能于其他语言如C ,C#进行扩展 缺点: ...

  2. python 病毒 基因_#Python#提取基因对应的蛋白质名

    提取基因对应的蛋白质官方名 最开始,是需要将基因跟其编码的蛋白质对应起来,找遍了各种数据库都没发现有相关的注释文件,Uniprot作为处理蛋白质的大佬,结果里都有,肯定有办法能够满足需求. 搜索TP5 ...

  3. python的对象模型_[ Python 源码剖析] 对象模型概述

    Python 是一门 面向对象 语言,实现了一个完整的面向对象体系,简洁而优雅. 与其他面向对象编程语言相比, Python 有自己独特的一面. 这让很多开发人员在学习 Python 时,多少有些无所 ...

  4. 绑定dictionary 给定关键字不再字典中_对字典嵌套的理解及二级下拉菜单的制作...

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第51讲:对字典嵌套的理解及二级下拉菜单的制作. 在讲字典的时候,我反复说明,字典看视非常简单,由于它具有直达性可以省略去我们大量的循环查找代 ...

  5. python keyboard模块_[python] PyMouse、PyKeyboard用python操作鼠标和键盘

    1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...

  6. python定义字典列表_[Python基础]五、列表、元组和字典

    5.1 列表List(列表)是Python中最频繁的数据类型,在其他语言中叫数组 专门用于存储一串信息 列表用[]定义,数据之间使用逗号隔开 列表的索引从0开始 5.1.1列表常用操作 name_li ...

  7. python编程词典_编程字典-Python自然语言处理

    原标题:编程字典-Python自然语言处理 自然语言处理(NLP)是指使用诸如英语之类的自然语言与智能系统通信的AI方法. 当您希望像机器人这样的智能系统按照您的指示执行,当您想要听取基于对话的临床专 ...

  8. python世界地图代码_[python] 几行代码也能玩转世界地图?

    前些天收到某位大佬的求助,说是需要给根据数据给安徽省地市来绘制个图,用不同颜色来直观表示数据.当时就想到了Python提供一个绘制地图的库-- Pyecharts. Pyecharts是一个用于生成e ...

  9. 查python的软件_[Python实战]Python制作天气查询软件

    以前,公众号分享了如何使用 PyQt5 制作猜数游戏和计时器,这一次,我们继续学习:如何使用 PyQt5 制作天气查询软件. 开发环境Python3 PyQt5 requests 准备工作 首先要获取 ...

最新文章

  1. View - RemoteViews
  2. 怎么能方便的进行数据库存储过程的版本管理?
  3. 为什么前端开发这么不稳定?
  4. maven依赖管理的概念
  5. nsa构架_我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战
  6. 飞鸽传书是怎么就变成飞秋了的?
  7. 李迟2021年11月知识总结
  8. C语言的声明的优先级规则
  9. 华为安全HCIP-Security H12-721、H12-722、H12-723题库,含三套vce软件
  10. 倾斜补偿的电子罗盘(1):地磁场,磁传感器,倾斜补偿
  11. echarts画工作流(流程图)
  12. cv2.VideoCapture.get()用法
  13. 【操作系统】分页式虚拟存储系统
  14. 一堂难忘的计算机课作文,难忘的信息课作文
  15. visdom远程连接服务器
  16. 利用百度地图API接口自制地图
  17. MATLAB控制系统仿真与CAD
  18. docker+nginx重来部署vue项目
  19. 「数据库选型」抛弃MongoDB,拥抱PostgreSQL,工作更轻松
  20. 用123BOM工具处理同产品的多个BOM单这是整理研发BOM最好用的工具;是方案公司、产品型号多、同一个产品多个版本子BOM制定单一、准确的研发BOM清单的更好方式

热门文章

  1. 菜鸟学习笔记:Java提升篇3(容器3——泛型、排序)
  2. Windows家庭版远程服务
  3. 【LeetCode】剑指 Offer 63. 股票的最大利润
  4. 【LeetCode】剑指 Offer 10- I. 斐波那契数列
  5. 读者写者问题详解 操作系统
  6. ORACLE RAC中的oc4j和gsd资源以及RAC相关的进程
  7. 词根 sent/sens
  8. Win10系列:C#应用控件基础7
  9. 设计模式之—访问者模式VisitorPattern
  10. Oracle Golden Gate 系列十六 -- 配置 GG 安全 说明 与 示例