2-8 字典dict
1.如何在一个变量里存储公司每个员工的个人信息?
2.字典的定义与特性
字典是Python语言中唯一的映射类型。
定义:{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
特性:
1.key-value结构
2.key必须可hash、且必须为不可变数据类型、必须唯一
3.可存放任意多个值、可修改、可以不唯一
4.无序
5.查找速度快
假设key对应的hash值为下面的数字,排序然后根据二分法查找这个值所对应的key的hash值,
二分法查找速度快
3.字典的创建
person = {"name": "alex", 'age': 20}
#或
person = dict(name='seven', age=20)
#或
person = dict({"name": "egon", 'age': 20})
#或 person = dict((['name','苑昊'],['文周',18]))
{}.fromkeys(seq,100) #不指定100默认为None
#注意
>>> dic={}.fromkeys(['k1','k2'],[])
>>> dic
{'k1': [], 'k2': []}
>>> dic['k1'].append(1)
>>> dic
{'k1': [1], 'k2': [1]}
>>> info
{'jack': [22, 'mod', 'ui', 555], 'alex': [23, 'it', 'it', 1000]} >>> info['jack']
[22, 'mod', 'ui', 555]
>>>
>>> info['alex']
[23, 'it', 'it', 1000]
>>>
>>> info['alex'][0]
23
>>> info['alex'][1] = '老师'
>>> info
{'jack': [22, 'mod', 'ui', 555], 'alex': [23, '老师', 'it', 1000]}
4 .字典的常见操作
新增
1、dic['new_key'] = 'new_value';
2、dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值;_
查看
1、dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;
2、dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
删除
1、dic.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
2、dic.clear() 删除字典中的所有项或元素;
键、值、键值对
1、dic.keys() 返回一个包含字典所有KEY的列表;
2、dic.values() 返回一个包含字典所有value的列表;
3、dic.items() 返回一个包含所有(键,值)元祖的列表;
4、dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
修改
1、dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
2、dic.update(dic2) 将字典dic2的键值对添加到字典dic中,key有的话会覆盖
循环
1、for k in dic.keys()
2、for k,v in dic.items()
3、for k in dic
长度
1、len(dic)
5.多级字典的嵌套
6.字典-练习题
2-8 字典dict的更多相关文章
- python中几个常见的黑盒子之“字典dict” 与 “集合set”
这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: ...
- Python中的元组(tuple)、列表(list)、字典(dict)
-------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...
- python中字典dict的操作
字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...
- python中的字典(dict),列表(list),元组(tuple)
一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...
- Python - 字典(dict) 详解 及 代码
字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...
- Redis的字典(dict)rehash过程源代码解析
Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...
- python基础之字典dict和集合set
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...
- 自学Python2.4-基本数据类型-字典dict(objct)
Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...
- Python字典(dict)使用技巧
字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...
- python基础2--数据结构(列表List、元组Tuple、字典Dict)
1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...
随机推荐
- C# 调用WebService服务
方 法 一 : 选择项目,右键添加服务引用,输入服务地址,如图: 点击确定跳转到如下界面: 调用 接口: ServiceReference1.ImportDataServiceClient sr = ...
- unbind() 移除事件内处理方法
实例: 移除所有 p 元素的事件处理器: $("button").click(function(){ $("p").unbind(); }); 定义和用法: u ...
- 鸟哥私房菜vim常用命令
第一部份:一般模式可用的按钮说明,光标移动.复制贴上.搜寻取代等 移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑ ...
- jenkins + k8s + lnp
前提条件: K8S 已部署好,traefik也部署完成 K8S 集群上都挂载NFS盘,防止jenkins挂掉后配置消失 基础镜像使用 lnp,PHP 5.6.31 nginx/1.8.1 基础镜像 ...
- Hadoop HBase概念学习系列之HBase里的长表VS宽表VS窄表(十五)
有时候啊,HBase表的设计方案通常,还会考虑如下一些因素,当然,这只是考虑范围里的部分呢. 更多的行还是更多的版本?后者使用了HBase自带的功能.但是需要在列簇中定义最大版本数,这样做可能有风险. ...
- 3.5星|《硅谷产品》:Facebook网红社区产品经理经验谈
硅谷产品:36讲直通世界级产品经理 作者是Facebook产品经理,目前负责的具体业务书的扉页上有含糊的介绍,书中没明确说,根据书中内容推测,主要是网红社区. 比较遗憾的是书中作者亲历的案例只有3个. ...
- 【2017.12.05 智能驾驶/汽车电子】转载:如何成为一名无人驾驶工程师 By刘少山
之前对无人驾驶的理解就是通过刘少山老师的书:第一本无人驾驶技术书 通读之后,对智能驾驶有了一个初步的认识,如感知.决策.控制都涉及哪些领域,有哪些可以利用的技术: 但经过一段时间的实践,发现即使是在我 ...
- [BZOJ 4031][LOJ 2122][HEOI 2015] 小Z的房间
[BZOJ 4031][LOJ 2122][HEOI 2015] 小Z的房间 题意 给定一个 \(n\times m\) 的矩阵, 一些格子是障碍, 相邻的格子(四联通)之间可以连边, 求把非障碍的格 ...
- codeforces 424D Biathlon Track
codeforces 424D Biathlon Track 题意 题解 代码 #include<bits/stdc++.h> using namespace std; #define f ...
- setnx redis
使用锁 1)setnx(lockkey, 当前时间+过期超时时间) ,如果返回1,则获取锁成功:如果返回0则没有获取到锁,转向2.2.)get(lockkey)获取值oldExpireTime ,并将 ...