在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学习笔记(七):字典的更多相关文章

  1. python3学习笔记七(字典)

    参照http://www.runoob.com/python3/python3-dictionary.html 字典 字典是另一种可变容器模型,且可以存储任意类型对象. dict1 = {key1:v ...

  2. python学习笔记七——字典

    4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...

  3. python3.4学习笔记(七) 学习网站博客推荐

    python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...

  4. Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

    Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None,  ...

  5. (转)Qt Model/View 学习笔记 (七)——Delegate类

    Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...

  6. Python3学习笔记 - 准备环境

    前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  8. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  9. python3学习笔记(7)_listComprehensions-列表生成式

    #python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...

  10. python3学习笔记(6)_iteration

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...

随机推荐

  1. [转帖] Linux 下面 perl 命令的简介

    https://www.jb51.net/article/123326.htm 感觉挺好的 改天需要仔细学习一下. 前言 本文主要给大家介绍了关于Perl单行命令的相关内容,分享出来供大家参考学习,下 ...

  2. Mac上安装配置Go语言,其实很简单(一)

    下载Go语言可以去:Go语言中文网 安装及自己选择是否修改GOPATH 下载下来后双击安装就好,使用 go version 查看安装版本: 在Mac上安装完成后,会自动设置一些环境变量,使用 go e ...

  3. HDU-4507-吉哥系列故事-恨7不成妻

    题目描述 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 7+7=7*2 ...

  4. springboot2.0国际化

    springboot2.0配合thymeleaf实现页面国际化 1. 引入thymeleaf <?xml version="1.0" encoding="UTF-8 ...

  5. redis 哈希 数据类型

    哈希 hset  设置哈希表字段 hset 8000 ename tom   hset 8000 job salesman hget 8000 ename  "tom" hget  ...

  6. 字符串连连看 (和hihocoder 字符消除类似)

    题目描述 对于输入的字符串,从左到右扫描字符串,如果存在由三个以上(包括三个)连续相同字符组成的子串,就将这个子串从原串中去掉,并将原有字符串剩下的部分拼接到一起.重复上述过程,直到无法去掉任何子串 ...

  7. MySQL数据库主从同步实战过程

       Linux系统MySQL数据库主从同步实战过程 安装环境说明 系统环境: [root@~]# cat /etc/redhat-release CentOS release 6.5 (Final) ...

  8. 剑指offer-6:数值整数次方

    一.题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 二.解题思想 分类讨论,充分考虑每种可能. exponent :0,1,& ...

  9. c# task笔记

    class Program { //创建Task任务的三种方式(无返回值) static void Main(string[] args) { //方法一 Task task1 = new Task( ...

  10. [易学易懂系列|rustlang语言|零基础|快速入门|(2)|VSCODE配置]

    我们今天来配置下vscode+rust. vscode开发rust很方便.但配置有点坑,我们都认为vscode很简单,很完善. 但这里很多同学也出现不少问题. 我们在这里简单记录下win7下配置的过程 ...