一、工厂函数的概念

  和序列类型的工厂函数一样,dict()也是一个工厂函数,本质上是一个类,Python程序无处不对象的概念可见一斑

二、字典类型内置函数的用法

  1、fromkeys(iterable,value=None)创建并返回一个新的字典。其中第一个参数是可迭代对象(序列类型),第二个参数是value值,当第二个参数不提供时,则默认为None

 dict1 = dict()
dict2 = dict1.fromkeys((1,2,3),'kst')
dict2
{1: 'kst', 2: 'kst', 3: 'kst'}
dict3 = dict1.fromkeys((1,2,3,4))
dict3
{1: None, 2: None, 3: None, 4: None}
dict4 = dict2.fromkeys((1,2,3,4,5),'詹姆斯')
dict4
{1: '詹姆斯', 2: '詹姆斯', 3: '詹姆斯', 4: '詹姆斯', 5: '詹姆斯'}

  2、访问字典的内置函数

    访问字典的内置函数,主要就是访问字典的key和字典的value,这两者访问方法分别为keys()和values()

 dict4
{1: '詹姆斯', 2: '詹姆斯', 3: '詹姆斯', 4: '詹姆斯', 5: '詹姆斯'}
>>> dict4.keys()
dict_keys([1, 2, 3, 4, 5])
>>> for eachkey in dict4.keys():
print(eachkey) 1
2
3
4
5 >>> dict4.values()
dict_values(['詹姆斯', '詹姆斯', '詹姆斯', '詹姆斯', '詹姆斯'])
>>> for eachvalue in dict4.values():
print(eachvalue) 詹姆斯
詹姆斯
詹姆斯
詹姆斯
詹姆斯

  3、get(k,d)通过key返回对应的value值,第一个参数为key值,第二个参数为默认返回的value值,当key存在则返回对应的value,不存在字典内则返回d,如果不提供则默认返回None

 dict1 = {0:'',2:'fdas',3:'fd'}
>>> dict1
{0: '', 2: 'fdas', 3: 'fd'}
>>> dict1.get(3,'木有')
'fd'
>>> dict1.get(1,'木有')
'木有'

  4、清空一个字典clear()和复制一个字典copy()

    注:copy()和赋值是不同概念,copy()时创建新的对象,其值复制到一个新的内存地址中,赋值是将值赋予新的符号,值的内存地址没有发生改变

  5、去除字典的某个元素(使用内置函数pop())

  pop(k,d)   当k存在于字典的key中时,则去除该k对应的key和value值,否则返回d(提示信息),当d未提供时返回错误

  类似的还有popitem()

  6、给字典增加一个item(使用setdefault(k,d))  返回k对应的value值,当k不存在时返回对应的d的值,如果d没有提供则返回空(None),如果k不存在于字典内时,将d作为value映射给k

 dict1
{0: '', 2: 'fdas', 3: 'fd'}
>>>
>>> dict1.setdefault(1)
>>> dict1
{0: '', 2: 'fdas', 3: 'fd', 1: None}
>>> dict1.setdefault(1,'詹姆斯')
>>> dict1
{0: '', 2: 'fdas', 3: 'fd', 1: None}
>>> dict1.setdefault(4,'詹姆斯')
'詹姆斯'

Python26之字典2(内置函数)的更多相关文章

  1. Python基础学习笔记(八)常用字典内置函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...

  2. Python 字符串字典内置函数&方法

    Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 str(dict)输出字典可 ...

  3. day 14 三元运算符,列表字典推导式,递归,匿名函数,内置函数(排序,映射,过滤,合并)

    一.三元运算符 就是if.....else..... 语法糖 前提:if和else只有一条语句 #原始版 cmd=input('cmd') if cmd.isdigit(): print('1') e ...

  4. Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...

  5. Python 函数递归-三元表达式-列表生成式-字典生成式-匿名函数-内置函数

    上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res ...

  6. python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04

    递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点)   -->  l = [1, [2, [3, [4, [5, ...

  7. python基础--递归、三元表达式、列表(字典)生成式、匿名函数、常用的内置函数

    函数的递归:函数在调用阶段直接或者间接的又调用自身 递归的两个阶段: 1.回溯:就是一次次重复的过程,这个重复的过程必须建立在每一次重复问题的复杂度都是应该下降的,直接有一个最终的结束条件(这个结束条 ...

  8. Python字典内置函数和方法

    Python字典内置函数和方法: 注:使用了 items.values.keys 返回的是可迭代对象,可以使用 list 转化为列表. len(字典名): 返回键的个数,即字典的长度 # len(字典 ...

  9. 字典内置函数&方法

    字典内置函数&方法 Python字典包含了以下内置函数:高佣联盟 www.cgewang.com 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dic ...

随机推荐

  1. Shell编程—企业生产案例

    Linux系统Shell编程—企业生产案例(一) 企业数据库可以说是重点保护对象啊,没有之一,数据在当今企业里就是生命线,因此今天就来说一说,如何通过shell脚本来检查或监控MYSQL数据库服务是否 ...

  2. Fluent当中的通配符【翻译】

    本文翻译自fluent帮助手册 可以在TUI当中使用通配符指定特定区域的名称,一些例子如下: 通配符*等同于"所有区域"例如: -/display/boundary-grid * ...

  3. 值得H5前端学习的60个JS插件(含DEMO演示)

    下面也可以说是H5前端学习的js插件大全.基本包含了大部分的前端最前沿的js插件和库. 布局 SuperEmbed.js- 是一个Javascript库,可检测出网页上的内嵌视频并使他们能够变成响应式 ...

  4. CSS显示模式

    div和span标签 1.容器级的标签中可以嵌套其他所有的标签(div->一般用于配合CSS完成网页的基本布局.h.ul.ol.dl.li.dt.dd......),文本级的标签中只能嵌套文字/ ...

  5. Gated CNN 阅读笔记

    之前看过TCN,稍微了解了一下语言模型,这篇论文也是对语言模型建模,但是由于对语言模型了解不深,一些常用数据处理方法,训练损失的计算包括残差都没有系统的看过,只是参考网上代码对论文做了粗浅的复现.开学 ...

  6. python 输出‘\xe8\xb4\x9d\xe8\xb4\x9d’, ‘\xe6\x99\xb6\xe6\x99\xb6’, ‘\xe6\xac\xa2\xe6\xac\xa2’]

    如上代码块,结果输出为: [‘\xe8\xb4\x9d\xe8\xb4\x9d’, ‘\xe6\x99\xb6\xe6\x99\xb6’, ‘\xe6\xac\xa2\xe6\xac\xa2’] 北京 ...

  7. [转]Myeclipse之web项目的部署(发布)流程

    在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:workspace目录\abc Source文件夹:src,保存所有的java类文件(.java文件)和xml文件. We ...

  8. 高通平台打开 dynamic debug方法【学习笔记】

    一.首先在内核的配置文件添加如下的配置: CONFIG_DEBUG_FS=y CONFIG_DYNAMIC_DEBUG=y 二.找到自己平台对应的 device/qcom/xxxx/init.targ ...

  9. Java HashSet介绍

    HashSet底层使用HashMap实现.当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上). ...

  10. Nutch、Scrapy、Lucene、Heritrix、Solr、Sphinx

    Nutch.Scrapy.Lucene.Heritrix.Solr.Sphinx