Python3学习笔记(七):字典
在python中,有一种通过名字来引用值的数据结构,这种类型的数据结构成为映射。
字典是Python中唯一内建的映射类型,具有以下特点:
- 字典中的值是无序的
- 值存在特定的键(key)下
- 键(key)可以是数字,字符串或元组等不可变的数据类型。
字典由多个键及与其对应的值构成的键-值对组成:
phonebook = {'Alic':'2341', 'Beth':'9102', 'Cecil':'3258'}
dict函数:
用于建立字典
>>> items = [('name','eastonliu'),('age',32)]
>>> d = dict(items)
>>> d
{'name': 'eastonliu', 'age': 32}
>>> d = dict(name='eastonliu',age=32)
>>> d
{'name': 'eastonliu', 'age': 32}
一、基本字典操作
1、len(d)返回字典中键-值对的数量
>>> d = {'name': 'eastonliu', 'age': 32}
>>> len(d)
2
2、d[k]返回关联到键k上的值
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d['name']
'eastonliu'
3、d[k]=v将值v关联到键k上
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d['score']=99
>>> d
{'name': 'eastonliu', 'age': 32, 'score': 99}
4、del d[k]删除键为k的项
>>> d = {'name': 'eastonliu', 'age': 32}
>>> del d['age']
>>> d
{'name': 'eastonliu'}
5、k in d 检查字典d中是否含有键为k的项
>>> d = {'name': 'eastonliu', 'age': 32}
>>> 'name' in d
True
>>> 'score' in d
False
二、字典的格式化字符串
>>> phonebook = {'Alic':'', 'Beth':'', 'Cecil':''}
>>> "Cecil's phone number is %(Cecil)s." % phonebook
"Cecil's phone number is 3258."
三、字典的方法
1、clear
用于清除字典中的所有项
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d.clear()
>>> d
{}
2、copy
返回一个具有相同键-值对的新字典
>>> x = {'name': 'eastonliu', 'age': 32}
>>> y = x.copy()
>>> y
{'name': 'eastonliu', 'age': 32}
3、fromkeys
使用给定的键建立新的字典,每个键都对应一个默认的None值
>>> dict.fromkeys(['name','age'])
{'name': None, 'age': None}
4、get
通过键返回字典中的值,当键不存在时,返回None
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d.get('name')
'eastonliu'
>>> print (d.get('score'))
None
5、items
以列表形式返回的键值对元组类型
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d.items()
dict_items([('name', 'eastonliu'), ('age', 32)])
6、keys
将字典中的键以列表形式返回
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d.keys()
dict_keys(['name', 'age'])
7、values
将字典中的值以列表形式返回
>>> d = {'name': 'eastonliu', 'age': 32}
>>> d.values()
dict_values(['eastonliu', 32])
Python3学习笔记(七):字典的更多相关文章
- python3学习笔记七(字典)
参照http://www.runoob.com/python3/python3-dictionary.html 字典 字典是另一种可变容器模型,且可以存储任意类型对象. dict1 = {key1:v ...
- python学习笔记七——字典
4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...
- python3.4学习笔记(七) 学习网站博客推荐
python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...
- Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html
Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, ...
- (转)Qt Model/View 学习笔记 (七)——Delegate类
Qt Model/View 学习笔记 (七) Delegate 类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...
- Python3学习笔记 - 准备环境
前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- python3学习笔记(7)_listComprehensions-列表生成式
#python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...
- python3学习笔记(6)_iteration
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...
随机推荐
- [转帖]X86_64平台上利用qemu安装aarch64架构的虚拟机
X86_64平台上利用qemu安装aarch64架构的虚拟机 https://blog.csdn.net/chenxiangneu/article/details/78955462 遇到原作者一样的问 ...
- centos7 源码编译安装 nginx
安装步骤 下载 nginx 源码包 官网 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压 nginx 压缩包 $ tar -zxvf n ...
- Centos7安装elasticsearch6.3及ik分词器,设置开机自启
参考Elasticsearch 在CentOs7 环境中开机启动 建议虚拟机的内存大小为4G 1. 新建一个用户john 出于安全考虑,elasticsearch默认不允许以root账号运行. 创建用 ...
- 786B - Legacy(线段树 + 最短路)线段树优化建图
题意: 就是给定一张n nn个点的图,求源点s ss到每个点的单源最短路.这张图共有q组边,连边方式有3种: a→b ,边权为w的单向边:a→[l,r] ,即a到连续区间[l,r]中的每一个点都有一条 ...
- doT学习(一)之语法
简介 创建搜索最快和简洁的JavaScript模板函数,强调V8和nodejs下的性能,它在nodejs和浏览器上都显示了很好的性能. dot.js速度快,体积小,没有依赖关系,源js代码只有140行 ...
- EditPlus配置Java编译器
一.环境说明 系统: windows 7 64位 editplus version: 4.3 二.设置步骤 打开工具中的配置用户工具: 找到用户工具User tools,点击组名Group Name ...
- 定义Vue-router的动态路由,获取传过来的动态参数
设置:在router目录下的index.js文件中,对path属性加上/:id 获取:使用router对象的params.id
- python实现建造者模式
python实现建造者模式 前言 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮.方向盘.发送机等各种部件.而对于大多数用户而言,无须知道这些部件的 ...
- nginx的rewrite
nginx服务的rewrite nginx后端服务的指令 1)upstream指令 :设置后端服务器组的主要指令 Upstream name {} 2)server指令:用于设定组内的服务器 3)Ip ...
- Ubuntu18.04 安装netstat
关键命令 sudo apt-get install net-tools 参考博客:https://www.cnblogs.com/2sheep2simple/p/10611650.html