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查询实现的 ...
随机推荐
- 图解 ASP.NET Core开发环境准备
2016年6月28日微软宣布发布 .NET Core 1.0.ASP.NET Core 1.0 和 Entity Framework Core 1.0. .NET Core是微软在两年前发起的开源跨平 ...
- Struts02---实现struts2的三种方式
01.创建普通类 /** * 01.普通类 * 写一个execute() 返回String类型值 * */ public class HelloAction01 { public String exe ...
- L138 Cryptocurrency Exchanges at Risk of Manipulation
Several cryptocurrency exchanges are plagued by poor market surveillance, pervasive conflicts of int ...
- AS3中ASCII码和字符互转函数
AS3中ASCII码和字符互转函数 字符转成ASCII码: 格式:字符串变量.charCodeAt(字符位置); var str:String = “A”; trace(str.charCodeAt( ...
- Flask的请求与响应
Flask的请求与响应 1 请求相关信息 request.method # 请求方法 request.args # get 请求的参数 request.form # post请求的参数 request ...
- H264提供了哪些帧内预测?
H.264/AVC 提供了四种帧内预测方式:4x4 亮度块的帧内预测(Intra_4x4).16x16 亮度块的帧内预测(Intra_16x16).8x8 色度块的帧内预测(Intra_chroma) ...
- 基功太差,怨不得天,得下苦功——WAP面试,正式招聘号角响起
WAP面试,直接考察coding能力. 面试官是一个日本先生.人超级Nice.一直朝我微笑. 简短的self-introdution后,就让写代码了. (欧巴桑昨天面的,回去后就把题目告诉我们了,我昨 ...
- 高级C/C++编译技术之读书笔记(四)之定位库文件
最近有幸阅读了<高级C/C++编译技术>深受启发,该书深入浅出地讲解了构建过程(编译.链接)中的各种细节,从多个角度展示了程序与库文件或代码的集成方法,提出了面向代码复用和系统集成的软件架 ...
- bzoj 4448 情报传递
Written with StackEdit. Description 奈特公司是一个巨大的情报公司,它有着庞大的情报网络.情报网络中共有\(n\)名情报员.每名情报员能有若干名(可能没有)下线,除\ ...
- vs中删除nuget包
最近发现有些解决方案都是用来nuget包,这个偶尔能跑,但是有一个爱抽风的毛病,生成解决方案的时候报错:无法连接到远程服务器,真几把蛋疼.... 就是下图的情况 网上找了下不是很容易找到处理这个问题的 ...