python' s fifth day for me dict
字典 dict :
key--vlaue
储存大量的数据,而且是关系型数据,查询速度快(二分查询)
数据类型分类:
可变数据类型(不可哈希):list(列表) , dict(字典), set(集合)
不可变数据类型(可哈希):int(整型), bool(布尔型), str(字符串), tuple(元组)
字典的键: 不可变数据类型。
字典的值: 任意数据类型。
容器类型:
容器类(承载各种数据类型):list , tuple , dict
字典的键是唯一的。
字典的顺序:
3.5之前,字典是无序的。
3.6开始,字典创建的时候,按照一定的顺序插入数值,看起来是有序的。
字典的 增 删 改 查
增
第一种:有则覆盖,无则添加。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
print(dic)
dic['name'] = '懒笨呆'
dic['addr'] = '学校'
print(dic)
第二种:无则添加,有则不变。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
print(dic)
dic.setdefault('name','懒笨呆')
dic.setdefault('addr','学校')
print(dic)
删 pop(key) 有返回值,如果删除的是不存在的键会报错,所以一般自定义返回内容
一般定义为None. pop(key,None)
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
print(dic.pop('hobby'))
print(dic.pop('addr',None))
print(dic)
clear 清空字典内容,且保存空字典。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
dic.clear()
print(dic)
del 删除字典或者指定键删除。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
# del dic
# print(dic)
del dic['name']
print(dic)
popitem 随机删除 返回删除的元组形式的键值对
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
dic.popitem()
print(dic)
改
第一种:直接对已有的键进行赋值。覆盖原有的value.
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
dic['name'] = '懒笨呆'
print(dic)
第二种:update 两个字典(dic,dic2),dic.update(dic2) , dic2 不变。dic2 直接将 dic 中原有的键值对覆盖 并且将 dic2 多出来的键值对添加到 dic 中。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
dic2 = {
'name':'懒笨呆',
'addr':'学校'
}
dic.update(dic2)
print(dic2)
print(dic)
查 dict [key] 如果key不存在,则会报错。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
print(dic['name'])
print(dic['name1'])
get(key) 有返回值,默认返回None,可以自定义返回值。get(key,'返回值')
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
print(dic.get('name1'))
print(dic.get('name1','没有此键值对'))
values() key() items() 将字典转换成类似列表的类。
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
# print(dic.values())
# for i in dic.values():
# print(i)
# print(dic.keys(),type(dic.keys()))
# for i in dic.keys():
# print(i)
print(dic.items(),type(dic.items()))
for i in dic.items():
print(i)
特殊类型 dict 转换成 list
dic = {
'name':'顾清秋',
'age':'',
'hobby':'Msusic'
}
print(dic.values()) #转化成类似于列表的特殊类型
print(list(dic.keys())) #特殊类型转换成列表
概念: 分别赋值
a,b = 2,3
print(a,b)
a,b = (2,3)
print(a,b)
a,b = [2,3]
print(a,b)
python' s fifth day for me dict的更多相关文章
- python之 list、tuple、dict、set
2016-08-24 14:32:59 list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 例如:定义一个列表L,里面存放了一些姓氏 ...
- Python中的两种结构dict和set
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 假设要根据同学的名字查找对应的成绩 如果 ...
- Python(一)list tuple dict set
这篇文章是为了复习之前学的python的数据结构: 原文链接:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a ...
- 【python】为什么修改全局的dict变量不用global关键字
转自:http://my.oschina.net/leejun2005/blog/145911?fromerr=qnPCgI19#OSC_h4_8 为什么修改字典d的值不用global关键字先声明呢? ...
- python学习中,list/tuple/dict格式化遇到的问题
昨天上了python培训的第一课,学习了基础知识.包括类型和赋值,函数type(),dir(),id(),help()的使用,list/tuple/dict的定义以及内置函数的操作,函数的定义,控制语 ...
- Python笔记·第六章——字典 (dict) 的增删改查及其他方法
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...
- python中list、tuple、dict、set的使用
1.list列表 list是一种可变的,有序的列表,可以随时添加和删除其中的元素. 其格式如下:list-name=[element1,element2,....] >>> nums ...
- 【python】python中的json、字典dict
定义 python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转.既然都是key-value格式,为啥还需要进行格式 ...
- python中in在list和dict中查找效率比较
转载自:http://blog.csdn.net/wzgbm/article/details/54691615 首先给一个简单的例子,测测list和dict查找的时间: ,-,-,-,-,,,,,,] ...
- python基本数据类型list,tuple,set,dict用法以及遍历方法
1.list类型 类似于java的list类型,数据集合,可以追加元素与删除元素. 遍历list可以用下标进行遍历,也可以用迭代器遍历list集合 建立list的时候用[]括号 import sys ...
随机推荐
- 【lightoj-1026】Critical Links(桥)
题意: 给出无向图,求桥的模板题. #include <bits/stdc++.h> using namespace std; ; int dfn[N], low[N];//时间戳;low ...
- MAC版画图软件 paintbrush 推荐,类似 windows 上系统自带的画图软件
不想开photoshop这么重的软件,但是对于屏幕截图有需要有一点处理.这时候我想起 windows上画图的好了. 搜索了一下,知道了 paintbrush 这个软件,于是下载试用了一下,果然很好. ...
- 深入解析Glide源码
Glide 是 Google的开源项目, Glide具有获取.解码和展示视频剧照.图片.动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里.创建Glide的主 ...
- HAWQ取代传统数仓实践(十三)——事实表技术之周期快照
一.周期快照简介 周期快照事实表中的每行汇总了发生在某一标准周期,如一天.一周或一月的多个度量.其粒度是周期性的时间段,而不是单个事务.周期快照事实表通常包含许多数据的总计,因为任何与事实表时间范围一 ...
- 跟我学Delphi Xe4 开发 IOS 一 , 重读Delphi Xe4 自带文档.
安装了 Delphi Xe4 之后打开这个地址就是完整的官方的文档了. 虽然不是立刻能解决你的问题. 但也是必须要看一遍的. 最基础的都在这里了. ms-help://embarcadero.rs_x ...
- C语言中的extern关键字用法
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”. 1. extern修饰变量的声明.举例来说,如果文件a.c需要引用b.c中变量int v ...
- LAMP环境运行中为PHP添加CURL模块
这里是自己遇到的问题记录并总结 1.—— : LAMP环境所需源码包在 /websrc 下 [保存了WEB环境所需的各种tar.gz 源码包]命名为资源目录 2.—— : LAMP环境源码包统一解压到 ...
- 【MFC】MFC绘图不闪烁——双缓冲技术
MFC绘图不闪烁——双缓冲技术[转] 2010-04-30 09:33:33| 分类: VC|举报|字号 订阅 [转自:http://blog.163.com/yuanlong_zheng@126/ ...
- 使用wlan接收器经常重新登录怎么办
wlan接收器是一个大功率的网卡,能够接受耿远距离的无线网络,在农村和乡镇很普及,很多家庭里都是用这个装置来接受远距离的CMCC信号.但是在使用的时候会经常出现一些问题,例如我们登陆以后,还没等上网就 ...
- SSM框架——Spring+SpringMVC+Mybatis的搭建
1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...