Python——Dict
Python字典(Dictionary)
字典是一种可变容器模型,可存储任意类型对象。
字典的每个键值(key => value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下所示:
- d = {key1 : value1, key2 : value2 }
字典的特点:
键必须是唯一的,但值则不必唯一。
值可以取任何数据类型,但键必须是不可变的类型。
不可变类型:数字、字符串、元组;
可变类型:列表、字典。
字典中键值是无序的。
1、创建字典
方法1:
- dic = {'ID':'','name':'oliver','age':
输出
- {'name': 'oliver', 'age': , 'ID': ''}
方法2:
- dic = dict((('ID',''),)) #括号后的逗号表示第二对括号里边是一个序列
输出:
- {'ID': ''}
2、访问字典
通过key去查找。
例1:
- dic = {'ID':'','name':'oliver','age':}
- print(dic['name'])
输出:
- oliver
例2:
- dic = {'ID':'','name':'oliver','age':}
- print(list(dic.keys()))
输出:
- ['age', 'ID', 'name']
例3:
- dic = {'ID':'','name':'oliver','age':18}
- print(list(dic.values()))
输出:
- 18, '', 'oliver']
例4:
- dic = {'ID':'','name':'oliver','age':18}
- print(list(dic.items()))
输出:
- [('ID', ''), ('age', 18), ('name', 'oliver')]
2、更新字典
- 若不存在,将dic2中的键值加入dic;若存在,则更新值
- dic = {'ID':'','name':'oliver','age':18}
- dic2 = {'':'','':''}
- dic.update(dic2)
- print(dic)
输出:
- {'age': 18, 'ID': '', '': '', 'name': 'oliver', '': ''}
2、删除字典
清空字典
- dic = {'ID':'','name':'oliver','age':18}
- print(dic.clear())
输出:
- None
删除键值对
- dic = {'ID':'','name':'oliver','age':18}
- del dic['name']
- print(dic)
输出:
- {'age': 18, 'ID': ''}
删除整个字典
- del dic5
- print(dic5)
输出:
- name 'dic5' is not defined
删除键值对,并返回该key对应的值
- dic = {'ID':'','name':'oliver','age':18}
- print(dic.pop('age'))
输出:
- 18
- {'ID': '', 'name': 'oliver'}
随机删除键值对,并以元组的形式返回删除的键值对
- a = dic.popitem()
- print(a,dic)
输出:
- ('ID', '') {'age': 18, 'name': 'oliver'}
setdefault()
如果字典中存在此key,则不做修改;如果不存在,则添加键值。该方法还可以返回添加的值。
- dic = {'ID':'','name':'oliver','age':18}
- ret = dic.setdefault('hobby','film')
- print(dic)
- print(ret)
输出:
- {'name': 'oliver', 'ID': '', 'hobby': 'film', 'age': 18}
- film
fromkeys()
创建一个新字典。
- dic6=dict.fromkeys(['host1','host2','host3'],'test')
- print(dic6)
输出:
- {'host2': 'test', 'host1': 'test', 'host3': 'test'}
sorted()
将字典中的键进行排序。
- dic = {111:'aa',554:'bb',211:'ds',121:'asdf'}
- print(sorted(dic))
输出:
- [111, 121, 211, 554]
按照键对字典进行排序。
- dic = {111:'aa',554:'bb',211:'ds',121:'asdf'}
- print(sorted(dic.items()))
输出:
- [(111, 'aa'), (121, 'asdf'), (211, 'ds'), (554, 'bb')]
has_keys()
Python 2中使用has_keys()判断指定的key在字典中是否存在。存在则返回True。
- dic={5:'',2:'',4:''}
- dic.has_keys(5)
Python 3中的判断方法:
- print(5 in dic)
3、字典遍历
- dic = {'ID':'','name':'oliver','age':18}
- for i in dic:
- print(i,dic[i])
输出:
- name oliver
- age 18
- ID 123124
Python——Dict的更多相关文章
- Python dict operation introduce
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = ...
- Python dict(或对象)与json之间的互相转化
Python dict(或对象)与json之间的互相转化 原文转载自 1.JSON:JavaScript 对象表示法,是轻量级的文本数据交换格式,独立于语言,平台 2.JSON 语法规则 数据在名称/ ...
- python & dict & switch
python & dict & switch python 中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现. # ...
- Python dict() 函数
Python dict() 函数 Python 内置函数 描述 dict() 函数用于创建一个字典. 语法 dict 语法: class dict(**kwarg) class dict(mappi ...
- python dict乱码如何解决
定义字典并直接输出,结果输出结果中文是乱码展示 d={'name':'lily','age':18,'sex':'女','no':1121} print d 输出结果: {'age': 18, 'no ...
- 转:python dict按照value 排序
我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...
- (翻译)如何对python dict 类型按键(keys)或值(values)排序
如何对dict类型按键(keys)排序(Python 2.4 或更高版本): mydict = {'carl':40, 'alan':2, 'bob':1, 'danny':3} for key in ...
- python dict{}和set([])
200 ? "200px" : this.width)!important;} --> 介绍 dict(dictionary),在其他语言中也称为map,使用键-值(key- ...
- Python dict 按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:1 下面的是按照value的值从大到小的顺序来排序. ...
- Python dict和set的实现原理
在python的dict中间进行查找某个key操作时,查找所需时间不会随着dict中键值对数量增多而变长,(时间复杂度为O(1))但是list中就会(时间复杂度为O(N)),这是因为list查询实现的 ...
随机推荐
- poj 1787 背包+记录路径
http://poj.org/problem?id=1787 Charlie's Change Time Limit: 1000MS Memory Limit: 30000K Total Subm ...
- ORACLE TO_CHAR,TO_DATE函数格式说明
YEAR,年份的英文全称 YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位.两位或一位,缺省为当前世纪 MM:01~12的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三 ...
- elasticsearch 2.2+ index.codec: best_compression启用压缩
官方说法,来自https://www.elastic.co/guide/en/elasticsearch/reference/2.2/index-modules.html#_static_index_ ...
- 【spark】IDEA建立基于scala语言的spark项目
1.新建一个Spark项目 2.选择maven,用模板创建项目 如果 没有这个模板,我们需要添加一个 我们这里使用的是1.6版本Archetype Group Id : net.alchim31.ma ...
- EL表达式自定义函数
表达式语言除了可以使用基本的运算符外,还可以使用自定义函数.通过使用自定义函数,加强了表达式语言的功能. EL表达式函数,主要功能是完成对数据的修改,统一化格式: 步骤 1.开发函数处理类,处理类就是 ...
- ubuntu下搭建hadoop平台
终于把单击模式跟伪分布式模式搭建起来了,记录于此. 1.SSH无密码验证配置 因为伪分布模式下DataNode和NameNode均是本身,所以必须配置SSH localhost的无密码验证. 第一步, ...
- React 源码剖析系列 - 生命周期的管理艺术
目前,前端领域中 React 势头正盛,很少能够深入剖析内部实现机制和原理. 本系列文章 希望通过剖析 React 源码,理解其内部的实现原理,知其然更要知其所以然. 对于 React,其组件生命周期 ...
- angualr4 环境搭建
不得不说现在很流行前端MVC框架,angularjs算是一种.以前也用过angularjs感觉还不错,刷新了我对前端的认知.特别是因为我本身是个java开发.但是感觉还是有很多缺点的,直到angula ...
- 从无到有开发自己的Wordpress博客主题---创建主题
上一篇教程,我们已经安装了Wordpress,我们可以成功的登录到Wordpress后台,接下来的任务就是创建我们自己的主题. 要想创建一个Wordpress主题,就必须按照Wordpress的规则, ...
- sublime上配置markdown
等等等等 简书一个不错的教程:Sublime Text3的Markdown配置 补充说明:第一步可以直接找 Tools-->install package control. ^.^ ...