dict built-in function
映射类型:字典
字典是无序的,映射类型对象里哈希值和被指向的对象是一对多的关系,字典中的键必须是可哈希的,所有不可变的类型都是可哈希的,另外针对数字键来说,值相等的两个数字是相同的键,例如1和1.0;说到不可变类型你可能会想到元组,元组作为字典的键是需要注意的地方就是元组中只包括想数字和祖父传这样的不可变参数,才可以作为字典中有效的键
创建一个字典有以下几种方法。
1.dict1 = {}
2.dict2 = dict()
3.dict3 = dict((['x',1],['y',2]))
4.dict4 = {}.fromkeys(('x','y'),-1) # -1为vaules,也可以不填参数,默认为None
>>>{'y':-1,'x':2}
5.dict5 = dict(zip(('x','y'),(1,2))
6.dict6 = dict([('xy'[i-1],i) for i in range(1,3)])
国际惯例dir(dict)
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
1.clear 清除字典
2.copy 拷贝,浅拷贝
3.fromkeys 创建并返回一个新字典
dic = dict.fromkeys(('x','y'),1) # 参数seq为键,val参数若没有指定那就是默认值为None
print(dic)
>>> {'x': 1, 'y': 1}
4.get 对字典中的键key,返回他对应的value,如果不存在,则返回defualt的值,默认是None
dic = {'k1':1,'k2':2}
v = dic.get('k3','sb')
print(v)
>>>sb
5.items 返回一个包含字典中键,值对元祖的列表
dic = {'k1':1,'k2':2}
v = dic.items()
print(v)
>>>dict_items([('k2', 2), ('k1', 1)]) # 是一个列表
6.keys 返回一个包含字典中键的列表
dic = {'k1':1,'k2':2}
v = dic.keys()
print(v)
>>>dict_keys(['k1', 'k2'])
7.pop(key[,default]) 如果字典中key键存在,删除并返回dict[key],如果不存在,且没有给出default的值,则报keyerror
dic = {'k1':1,'k2':2}
v = dic.pop('k1','sb') # default = 'sb'
print(v)
>>> 1
8.popitem 以元祖的形式返回并删除第一个键值对
dic = {'k1':1,'k2':2}
print(dic)
v = dic.popitem() # 因为字典是无序的,所以每次的执行结果都可能不一样
print(v)
>>>{'k2': 2, 'k1': 1}
('k2', 2)
dic = {'k1':1,'k2':2}
print(dic)
v = dic.popitem()
print(v)
>>>{'k1': 1, 'k2': 2}
('k1', 1)
9.setdefault(key,default = None) 如果字典中不存在key键,由dict[key] = default 为它赋值
dic = {'k1':1,'k2':2}
v = dic.setdefault('k3','sb')
print(v)
>>> sb
print(dic)
>>>{'k1': 1, 'k2': 2, 'k3': 'sb'}
vv = dic.setdefault('k2','sb')
print(vv)
>>> 2
print(dic)
>>>{'k1': 1, 'k2': 2}
10.update(dict2) 将字典dict2的键值对添加到字典中
dic1 = {'k1':1,'k2':2}
dic2 = {'k3':3}
dic2.update(dic1) # tips: 字典中原有的键如果与新添加的键重复,那么重复键对应的原有条目的值将被新键所对应的值所覆盖
print(dic2)
>>>{'k2': 2, 'k3': 3, 'k1': 1}
11.values 返回一个包含字典中所有值的列表
dic1 = {'k1':1,'k2':2}
v = dic1.values()
print(v)
>>>dict_values([2, 1])
dict built-in function的更多相关文章
- Meet Python: little notes 3 - function
Source: http://www.liaoxuefeng.com/ ♥ Function In python, name of a function could be assigned to a ...
- Know How To Use ID_NULL Function To Search An Object In Oracle Forms
ID_NULL built in function is used to determine that an object type variable is null or not null in O ...
- Python2.x和3.x主要差异总结
本文部分转载自http://my.oschina.net/chihz/blog/123437,部分来自自身修改 开始使用Python之后就到处宣扬Python如何如何好,宣传工作的一大重要诀窍就是做对 ...
- Python3中文教程
搜索 此文档来源自网络 安装 PYTHON❝ Tempora mutantur nos et mutamur in illis. (时光流转,吾等亦随之而变.) ❞ — 古罗马谚语 深入欢迎来到 Py ...
- 读书笔记之《编程小白的第1本Python入门书》
本书电子版下载地址:百度网盘 写在前面:你需要这本书的原因 有没有那一个瞬间,让你想要放弃学习编程? 在我决心开始学编程的时候,我为自己制定了一个每天编程1小时的计划,那时候工作很忙,我只能等到晚上9 ...
- 3. Dictionaries and Sets
1. Generic Mapping Types The collections.abc module provides the Mapping and MutableMapping ABCs to ...
- day16_函数作用域_匿名函数_函数式编程_map_reduce_filter_(部分)内置函数
20180729 补充部分代码 20180727 上传代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # ***************** ...
- Pass算子python 函数
Pass算子python 函数 函数 函数是代码的一种组织形式 函数应该能完成一项特定的工作,而且一般一个函数只完成一项工作 有些语言,分函数和过程两个概念,通俗解释是,有返回结果的是函数,无返回结果 ...
- Javacript实现字典结构
字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...
- Python学习日志(二)
在网易云课堂看到小甲鱼的python视频,想起以前看就是看他的视频学C的虽然后来不了了之都怪我自己啦,于是决定跟着这个视频来学python啦! IDLE IDLE其实是一个python shell , ...
随机推荐
- 洛谷 P1522 牛的旅行
题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,Farmer John就有多个 ...
- BestCoder Round #29 1003 (hdu 5172) GTY's gay friends [线段树 判不同 预处理 好题]
传送门 GTY's gay friends Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ...
- BZOJ 4810 [Ynoi2017]由乃的玉米田 (莫队 + bitset)
题目链接 BZOJ 4810 首先对询问离线, 莫队算法处理. 首先我们可以用bitset维护处当前区间中是否存在某个数. 对于询问1, 我们可以用 ((f >> q[i].x) &am ...
- Codeforces 487B Strip (ST表+线段树维护DP 或 单调队列优化DP)
题目链接 Strip 题意 把一个数列分成连续的$k$段,要求满足每一段内的元素最大值和最小值的差值不超过$s$, 同时每一段内的元素个数要大于等于$l$, 求$k$的最小值. 考虑$DP$ 设$ ...
- 洛谷 P1503鬼子进村
题目背景 小卡正在新家的客厅中看电视.电视里正在播放放了千八百次依旧重播的<亮剑>,剧中李云龙带领的独立团在一个县城遇到了一个鬼子小队,于是独立团与鬼子展开游击战. 题目描述 描述 县城里 ...
- 10.Java web—JavaBean
定义一个类,然后在jsp页面通过<jsp:useBean>标签调用 重点是类属性名要起得规则,一般是setXXX getXXXX 新建一个类UserInfo public class U ...
- 解密优秀博士成长史 ——微软亚洲研究院首届博士生学术论坛Panel讨论经验总结
编者按:有人说“一入博门深似海”,读博前应该做好哪些准备?作为一名博士生,应该有怎样的学术或职业规划?导师还是老板?怎样在师生关系上做到双赢?你是导师心目中优秀的博士生吗?相信以上问题在很多同学心中萦 ...
- NPOI操作Excel 005:写入空Excel(Winform版)
前文写了一个BS版本号的导出Excel的样例(http://blog.csdn.net/yysyangyangyangshan/article/details/47904119).对于CS版在保存的地 ...
- 简谈Java的join()方法(转)
join()是Thread类的一个方法.根据jdk文档的定义: public final void join()throws InterruptedException: Waits for this ...
- background-color
CreateTime--2017年11月13日09:03:00 Author:Marydon background-color 1.定义 设置背景颜色 2.语法 2.1 使用16进制,以" ...