不可变数据类型:tuple、bool、int、str    --可哈希类型
可变数据类型:list、dict、set --不可哈希类型
dict-key 必须是不可变数据类型,可哈希
dict-value 任意数据类型
dict 优点:二分查找、存储大量的关系型数据
特点:无序的-没有索引,只能按照键值对查找
增:dict[key] = value dict.setdefault(key) dict.setdefault(key ,value)
删:dict.pop(key) dict.pop(key,returns) dict.popitem() dict.clear() del dict[key] del dict
改:dict[key] = value dict1.update(dict2)
查:dict[key] dict.get(key) dict.get(key,returns)
操作: for k in dict: for k in dict.keys: for k,v in dict.items
统计:len(tu1)
1,新增:
dict['key'] = value --原dict无key值时,进行新增,有key值时,进行修改
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1['key1'] = 'V1'
print(dict1)
result:{'key1': 'V1', 'key2': 'val2', 'key3': 'val3'}
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1['key5'] = 'V1'
print(dict1)
result:{'key1': 'val1', 'key2': 'val2', 'key3': 'val3', 'key5': 'V1'}
dict.setdefault(key)--默认value为None
dict.setdefault(key,value) --原dict无key值时,进行新增,有key值时,不变
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1.setdefault('key1')
print(dict1)
result:{'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1.setdefault('key5')
print(dict1)
result:{'key1': 'val1', 'key2': 'val2', 'key3': 'val3', 'key5': None}
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1.setdefault('key5','V5')
print(dict1)
result:{'key1': 'val1', 'key2': 'val2', 'key3': 'val3', 'key5': 'V5'}
2,删除:
dict.pop(key)--返回删除的值,如果dict中无key值-报错
dict.pop(key,返回值)--可设置返回值,存在key则删除,不存在则返回后面加的返回值
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1.pop('key1')
print(dict1)
result:{'key2': 'val2', 'key3': 'val3'}
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1.pop('key11','不存在key11'))
result:不存在key11
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict1.pop('key1','不存在key1')
print(dict1)
result:{'key2': 'val2', 'key3': 'val3'}
dict.popitem()--随机删除一个键值对,3.6版本按顺序删除,从后面开始删除
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1.popitem())
print(dict1)
result:
('key3', 'val3')
{'key1': 'val1', 'key2': 'val2'}
dict.clear()--清空字典
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1.clear())
print(dict1)
result:
None
{}
del dict/dict[key]
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
del dict1['key2']
print(dict1)
result:{'key1': 'val1', 'key3': 'val3'}
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
del dict1
print(dict1)
result:NameError: name 'dict1' is not defined
3,修改:
dict[key]=value --存在key时进行修改
dict1.update(dict2)--更新、覆盖添加
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
dict2 = {'k':'v','key1':'va1'}
dict1.update(dict2)
print(dict1)
result:{'key1': 'va1', 'key2': 'val2', 'key3': 'val3', 'k': 'v'}
4,查询:
dict[key]
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1['key1'])
result:val1
dict.get(key,返回值)
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1.get('key1'))
result:val1
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1.get('key11'))
result:None
ey:
dict1 = {'key1':'val1','key2':'val2','key3':'val3'}
print(dict1.get('key11','不存在key'))
result:不存在key
5,计算长度
dict1= {'key1':'val1','key2':'val2','key3':'val3'}
print(len(dict1))
result:3

python基础之字典dict的更多相关文章

  1. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  2. python基础类型(字典:dict)

    字典的介绍: 字典(dict)Python中唯一的一个映射类型.他是以{}括起来的键值对组成,在dict中key是唯一的.在保存的时候,根据key来计算出一个内存地址,然后将key-value保存到这 ...

  3. python基础day6_字典dict

    数据类型划分:可变数据类型.不可变数据类型 不可变数据类型(又叫可哈希):元祖,bool ,int,str, 可变数据类型(又叫不可哈希):list,dict,set(集合) dict的key必须是不 ...

  4. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  5. python入门14 字典dict

    字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...

  6. python基础之五:dict 字典

    1.数据类型的划分:可变数据类型.不可变数据类型 不可变的有:元组(tuple).字符(str).整型(int).布尔型(bool) 它们都可以哈希 可变的:列表(list).set.字典(dict) ...

  7. Python基础数据类型(五) dict字典

    字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...

  8. python基础之字典、集合

    一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...

  9. python中的字典(dict),列表(list),元组(tuple)

    一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...

随机推荐

  1. nginx.conf文件的使用

    默认配置语法 全局---服务级别的配置 user 设置nginx服务的系统使用用户,基本上不用动 worker_processes 工作进程数---跟nginx多worker有关,增大连接数的并发处理 ...

  2. BZOJ 3594: [Scoi2014]方伯伯的玉米田 (二维树状数组优化DP)

    分析 首先每次增加的区间一定是[i,n][i,n][i,n]的形式.因为如果选择[i,j](j<n)[i,j](j<n)[i,j](j<n)肯定不如把后面的全部一起加111更优. 那 ...

  3. 题解 【POJ1934】 Trip

    题目意思: 有两个字符串(长度\(<=80\)),按字典序输出它们的最长公共子串的所有情况. 解析 最长公共子序列的长度应该都没问题了吧...有问题请自行百度 但关键是要求出每种情况,还要按字典 ...

  4. yii框架学习(MVC)

    路由:两种方式,第一种是默认方式访问,假设配置了虚拟主机,那么localhost/web/index.php?r=admin/index    访问的是controllers目录下的admin控制器里 ...

  5. 美团小程序框架mpvue入门教程

    mpvue是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从 ...

  6. Spring Boot教程(三十四)使用Redis数据库(2)

    除了String类型,实战中我们还经常会在Redis中存储对象,这时候我们就会想是否可以使用类似RedisTemplate<String, User>来初始化并进行操作.但是Spring ...

  7. ftp协议在linux上的配置

    第一步:安装 yum install -y vsftpd 第二步:启动ftp服务:vsftpd [root@localhost ~]# systemctl start vsftpd 第三步:查看启动状 ...

  8. isEmpty和isBlank区别

    isEmpty 判断某字符串是否为空,为空的标准是 str==null或 str.length()==0 StringUtils.isEmpty(null) = true StringUtils.is ...

  9. centos7配置外网

    1设置网络连接中的NAT网络配置 2虚拟机的网络设置选择NAT连接设置如下,子网IP可通过ipconfig查看本地VMnet8,如我本地VMnet8 ip为:192.168.198.0 3 3.开启虚 ...

  10. VLOOKUP的了解(1)

    上周在整理资料的时候,需要将一个表中的部分东西,弄到另外一张表中.我就傻不愣登的直接粘贴.复制.没有发现VLOOKUP呀! VLOOKUP是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查 ...