python之字典(dict)
字典:一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
字典由键和对应值成对组成 {key:value,key1,value1}, 例如:
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
注意:
(1)每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
(2)键必须独一无二,但值则不必。
(3)值可以取任何数据类型.
字典相关操作:
1.增
dic = {'中国': '汉语', '美国': '英语'}
dic['日本'] = '日语'
dic['韩国'] = '韩语'
print(dic)
#setdefault()
dic.setdefault('韩国', '韩语')
dic.setdefault('英国')
dic.setdefault('中国', '还有英语')
print(dic)
2.删
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
dic.pop('韩国') #根据指定key, 删除key:value
dic.popitem() #删除最后一项. python的早期版本中,字典是无序的,随机删除一项.
del dic['美国'] #清空
print(dic)
3.改
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
dic['中国'] = '汉语,还有其他语言'
print(dic)#{'中国': '汉语,还有其他语言', '美国': '英语', '韩国': '韩语'}
4.查
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
#1.dic[key]
print(dic['中国']) #汉语
print(dic['日本']) #KeyError: '日本' 报错,'日本'key不存在
#2.dic.get(key, 值)
print(dic.get('中国')) #汉语
print(dic.get('日本')) #None 当key不存在返回None
print(dic.get('日本', '没有这个')) #当key不存在,返回第二个参数,第二个参数默认为None
##3.dic.setdefault(key, value)
## 第一个功能是添加(当key不存在).
## 第二个功能是查询(根据给的key查询)
##执行流程:判断给的key是否存在,如果存在,就不执行新增流程,直接查询出这个key对应的value.
## 如果key不出那种,先执行新增操作,再使用key吧对应的value查询出来.
ret = dic.setdefault('日本', '日语')
print(ret) #日语
ret1 = dic.setdefault('美国', '汉语')
print(ret1) #英语
字典遍历:
1.直接使用for遍历
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
for key in dic:#直接循环字典拿到的是key,有key直接拿value
print(key) #取出来key
print(dic[key])#根据key拿对应的value
'''
中国
汉语
美国
英语
韩国
韩语
'''
2.使用items()直接拿到key,value
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
for k, v in dic.items():
print(k, v)
'''
中国 汉语
美国 英语
韩国 韩语
'''
字典的其他操作
1.keys()获取到所有的键
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
for k in dic.keys():
print(k)
'''
中国
美国
韩国
'''
2.value()获取到所有的值
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
for v in dic.values():
print(v)
'''
汉语
英语
韩语
'''
3.items()获取到所有键值对
dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
for k, v in dic.items():
print(k, v)
'''
中国 汉语
美国 英语
韩国 韩语
'''
python之字典(dict)的更多相关文章
- python基础——字典dict
1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...
- python基础——字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...
- python中字典dict的操作
字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...
- Python中字典dict
dict字典 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) ...
- python基础-字典dict
字典-dict 用途: 定义方法:通过{} 来存储数据,通过key:value (键值对)来存储数据,每个键值对通过逗号分隔.在键值对中,key 是不可变的数据类型,value 是任意数据类型 def ...
- python数据类型:字典dict常用操作
字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...
- Python的字典dict和set
Python内置了字典:dict的支持,dict全称dictionary: 表达式为dict{key,value} 使用键值对来存储数据 eg: 使用dict来存储姓名和分数 d = {'bob':2 ...
- Python基础:字典(dict)与集合(set)
查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...
- Python操作字典(dict)
一.字典定义 >>> dict={} 二.字典元素添加 >>> dict['性别']='男' >>> dict {'性别': '男'} >& ...
随机推荐
- 使用 JSON-lib 出现异常 java.lang.reflect.InvocationTargetException
我是在使用json时引起的这个异常,上面是使用json-lib用到的几个jar包,原因是在commons-lang3-3.1.jar这个jar上,commons-lang3和commons-lang会 ...
- 开发微信小程序——古龙小说阅读器
概述 由于面试的关系接触了一下微信小程序,花了2晚上开发了一个带书签功能的古龙小说阅读器,并且已经提交审核等待发布.这篇博文记录了我的开发过程和对微信小程序的看法,供以后开发时参考,相信对其他人也有用 ...
- javascript 内存模型
我对于 JavaScript 的内存模型一直都比较困惑,很想了解在操作变量的时候,JS 是如何工作的.如果你和我有同样的困惑,希望这篇文章能给你一些启发. 译文,喜欢原文的可以直接拉到底部 当我们声明 ...
- css 如何“画”一个抽奖转盘
主要描述的是如何运用 css 绘制一个抽奖转盘,并运用原生 js 实现转盘抽奖效果. 先来张效果图: 布局 一般来说,转盘一般有四个部分组成:外层闪烁的灯.内层旋转的圆盘.圆盘上的中奖结果.指针. 所 ...
- MySQL 线程池&连接池&长连接&短连接
线程池 简介 1.mysql每连接每线程,mysql都分配一个单独的线程,该线程处理客户端发来的所有命令 2.每个线程会占用一定的系统资源,线程数越多消耗的系统资源也越多 3.线程的创建和销毁有一定的 ...
- MySQL程序端启动密码错误解决方法
MySQL程序端启动密码错误解决方法 一般启动MySQL程序端,都是用mysql -uroot -p命令,当然前提是你的环境变量已经配好了. 为了连接服务器,当调用mysql时,通常需要提供一个MyS ...
- Docker部署Vue 工程包
docker部署 Vue 工程包 目录结构 [root@host ~]# tree front/ front/ ├── dist.conf ├── dist.zip ├── Dockerfile └─ ...
- postgresql 唯一约束增强
http://blog.chinaunix.net/uid-15145533-id-2775821.html
- C# Command命令(行为型模式)+队列 实现事务,带异步命令重试机制和生命周期
一.简介 耦合是软件不能抵御变变化的根本性原因,不仅实体对象与实体对象之间有耦合关系(如创建性设计模式存在的原因),对象和行为之间也存在耦合关系. 二.实战 1.常规开发中,我们经常会在控制器中或者M ...
- Eclipse开发环境debug模式调试断点从jar跳到源码
Eclipse开发环境debug模式调试断点从jar跳到源码 说明:本案例使用jsch-0.1.54.jar和源码做test,项目分成两个,一个是jsch的源码,另一个是测试案例 一.下载JSch.的 ...