总结内容:

  1、字典的定义

  2、字典的好处

  3、字典的增删改查

  4、字典常用方法及内置函数

  5、字典的多层嵌套

  6、字典的循环

  7、字典小练习


1、字典的定义

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

2、字典的好处:

1、取数据方便,知道key的值就能将value的值取到

2、速度快

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

例如:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

3、字典的增删改查

3.1、字典查询:

1、get方法

如果key 不存在,在取不到key的值的情况下,则显示为null

如果key的值不存在,但是设置了默认值,那么在取不到值时显示默认值:

2、[ ]方式取值

注意:如果用[]方式取值的话,如果key不存在则会报错

3.2、字典增加:

方式一:[ ]方式,在key 存在的情况下可以覆盖原字典中的值,在key不存在的情况下直接添加该值

注意:字典是无序的,所以输出的数据不一定是按有序的顺序输出

方式二:setdefault方法,在key存在的情况下不能修改原字典中的值

info.setdefault('addr','55555')

3.3、字典的修改:

使用[]方式修改字典的value值

update方式可以将两个字典进行合并操作

dict1 = {'name':'test'}
print(dict1)
dict2 = {'age':19}
dict1.update(dict2)
print(dict1) 运行结果:
{'name': 'test'}
{'name': 'test', 'age': 19}

3.4、字典的删除:

方式一:

pop方式:指定key删除

方式二:

popitem:随机删除一个key

方式三:

del :指定key来删除

方式四:

clear方式:清空字典


4、字典常用方法及内置函数:

values:输出字典中values的值

keys:输出字典所有的key的值

items:输出子典中所有的key:values值

Python内置方法:

函数及描述

1

radiansdict.clear()
删除字典内所有元素

2

radiansdict.copy()
返回一个字典的浅复制

3

radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

4

radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值

5

key in dict
如果键在字典dict里返回true,否则返回false

6

radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组

7

radiansdict.keys()
以列表返回一个字典所有的键

8

radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9

radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里

10

radiansdict.values()
以列表返回字典中的所有值

11

pop(key[,default])
删除字典给定键
key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

12

popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)。

Python字典包含了以下内置函数:

序号

函数及描述

实例

1

len(dict)
计算字典元素个数,即键的总数。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

>>> len(dict)

3

2

str(dict)
输出字典,以可打印的字符串表示。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

>>> str(dict)

"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

3

type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

>>> type(dict)

<class 'dict'>


5、多层嵌套:

实例:

多次嵌套数据的查询:

多次嵌套修改数据

多次嵌套添加数据:


6、字典的循环操作

直接循环字典打印的是字段的key值:

同时取到key:values的循环方式,需要使用items方法:

注意:字典里面用in来判断的话直说判断key的值,value的值是不进行判断的


7、字典小练习

users = {
'test0':'',
'test1':'',
}
#所有的账号和密码
# username
# pwd
# cpwd
# print( '123456' in users ) #字典里面用in来判断的话,只是判断key是否存在
for i in range(3):
username = input('账号:').strip()
passwd = input('密码:').strip()
cpasswd = input('密码确定:').strip()
if username=='' or passwd=='' or cpasswd=='':
print('用户名/密码不能为空')
elif username in users:
print('用户名已经被注册!')
elif passwd!=cpasswd:
print('两次输入的密码不一致')
else:
print('恭喜,注册成功!')
# users.setdefault(username,passwd)
users[username]=passwd
break
else:
print('错误次数过多')
print(users)

Python学习笔记(七)—字典的学习的更多相关文章

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

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

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

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

  3. Go语言学习笔记七: 函数

    Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...

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

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

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

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

  6. Typescript 学习笔记七:泛型

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

  7. iOS 学习笔记七 【博爱手把手教你使用2016年gitHub Mac客户端】

    iOS 学习笔记七 [博爱手把手教你使用gitHub客户端] 第一步:首先下载git客户端 链接:https://desktop.github.com 第二步:fork 大神的代码[这里以我的代码为例 ...

  8. 【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整

    今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...

  9. Linux学习笔记(七) 查询系统

    1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...

  10. go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer)

    目录 go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer) demo demo server demo client 池 dao service p2c ro ...

随机推荐

  1. Python3 出现'ascii' codec can't encode characters问题

    当使用urllib.request.urlopen打开包含中文的链接时报错: from urllib import request url = 'https://baike.baidu.com/ite ...

  2. CF1030A 【In Search of an Easy Problem】

    题目巨简单,主要是给大家翻译一下 给n个数,其中存在1就输出HARD,否则输出EASY,不区分大小写 #include<iostream> #include<cstdio> u ...

  3. sqlserver日期推算(年,季度,月,星期推算)

    DECLARE @dt datetime SET @dt=GETDATE() DECLARE @number int SET @number=3 --1.指定日期该年的第一天或最后一天--第一天为1月 ...

  4. Oracle学习笔记:decode函数

    decode函数主要作用:将查询结果翻译成其他值(即以其他形式变现出来) 使用方法: SELECT DECODE(colunm_name,值1,翻译值1,值2,翻译值2……值n,翻译值n,缺省值) F ...

  5. java根据日期获取周几和获取某段时间内周几的日期

    整理两个日期的方法. 根据日期获取当天是周几 /** * 根据日期获取当天是周几 * @param datetime 日期 * @return 周几 */ public static String d ...

  6. WordPress引入css/js两种方法

    WordPress引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的css,js,甚至很有可能还需要加载Jquery文件,网上方法特多,说法不一,我们今天借鉴wordpr ...

  7. 【LOJ】 #2033. 「SDOI2016」生成魔咒

    题解 就是字符集较大需要离散化和建边表的后缀自动机水题 每次会加入i个新的串,其中重复的就是i的父亲节点所在节点的长度,减掉即可 代码 #include <iostream> #inclu ...

  8. PHP phpexcel 导入时间/日期转换时间戳

    strtotime(gmdate('Y-m-d H:i',\PHPExcel_Shared_Date::ExcelToPHP($importtime))); /** * 判断字符串是否是日期格式 * ...

  9. HashMap+双向链表手写LRU缓存算法/页面置换算法

    import java.util.Hashtable; class DLinkedList { String key; //键 int value; //值 DLinkedList pre; //双向 ...

  10. 匹配合法IP地址的正则表达式

    IPV4地址分为4段,以点号分隔.如192.168.26.13.要对IP地址进行匹配,首先要对其进行分析,分成如下部分,分别进行匹配: 第一步:地址分析,正则初判 0-9      \d 进行匹配 1 ...