字典:一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典由键和对应值成对组成 {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)的更多相关文章

  1. python基础——字典dict

    1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...

  2. python基础——字典(dict)

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...

  3. python中字典dict的操作

    字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...

  4. Python中字典dict

    dict字典 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) ...

  5. python基础-字典dict

    字典-dict 用途: 定义方法:通过{} 来存储数据,通过key:value (键值对)来存储数据,每个键值对通过逗号分隔.在键值对中,key 是不可变的数据类型,value 是任意数据类型 def ...

  6. python数据类型:字典dict常用操作

    字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...

  7. Python的字典dict和set

    Python内置了字典:dict的支持,dict全称dictionary: 表达式为dict{key,value} 使用键值对来存储数据 eg: 使用dict来存储姓名和分数 d = {'bob':2 ...

  8. Python基础:字典(dict)与集合(set)

    查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...

  9. Python操作字典(dict)

    一.字典定义 >>> dict={} 二.字典元素添加 >>> dict['性别']='男' >>> dict {'性别': '男'} >& ...

随机推荐

  1. 使用 JSON-lib 出现异常 java.lang.reflect.InvocationTargetException

    我是在使用json时引起的这个异常,上面是使用json-lib用到的几个jar包,原因是在commons-lang3-3.1.jar这个jar上,commons-lang3和commons-lang会 ...

  2. 开发微信小程序——古龙小说阅读器

    概述 由于面试的关系接触了一下微信小程序,花了2晚上开发了一个带书签功能的古龙小说阅读器,并且已经提交审核等待发布.这篇博文记录了我的开发过程和对微信小程序的看法,供以后开发时参考,相信对其他人也有用 ...

  3. javascript 内存模型

    我对于 JavaScript 的内存模型一直都比较困惑,很想了解在操作变量的时候,JS 是如何工作的.如果你和我有同样的困惑,希望这篇文章能给你一些启发. 译文,喜欢原文的可以直接拉到底部 当我们声明 ...

  4. css 如何“画”一个抽奖转盘

    主要描述的是如何运用 css 绘制一个抽奖转盘,并运用原生 js 实现转盘抽奖效果. 先来张效果图: 布局 一般来说,转盘一般有四个部分组成:外层闪烁的灯.内层旋转的圆盘.圆盘上的中奖结果.指针. 所 ...

  5. MySQL 线程池&连接池&长连接&短连接

    线程池 简介 1.mysql每连接每线程,mysql都分配一个单独的线程,该线程处理客户端发来的所有命令 2.每个线程会占用一定的系统资源,线程数越多消耗的系统资源也越多 3.线程的创建和销毁有一定的 ...

  6. MySQL程序端启动密码错误解决方法

    MySQL程序端启动密码错误解决方法 一般启动MySQL程序端,都是用mysql -uroot -p命令,当然前提是你的环境变量已经配好了. 为了连接服务器,当调用mysql时,通常需要提供一个MyS ...

  7. Docker部署Vue 工程包

    docker部署 Vue 工程包 目录结构 [root@host ~]# tree front/ front/ ├── dist.conf ├── dist.zip ├── Dockerfile └─ ...

  8. postgresql 唯一约束增强

    http://blog.chinaunix.net/uid-15145533-id-2775821.html

  9. C# Command命令(行为型模式)+队列 实现事务,带异步命令重试机制和生命周期

    一.简介 耦合是软件不能抵御变变化的根本性原因,不仅实体对象与实体对象之间有耦合关系(如创建性设计模式存在的原因),对象和行为之间也存在耦合关系. 二.实战 1.常规开发中,我们经常会在控制器中或者M ...

  10. Eclipse开发环境debug模式调试断点从jar跳到源码

    Eclipse开发环境debug模式调试断点从jar跳到源码 说明:本案例使用jsch-0.1.54.jar和源码做test,项目分成两个,一个是jsch的源码,另一个是测试案例 一.下载JSch.的 ...