python3学习笔记七(字典)
参照http://www.runoob.com/python3/python3-dictionary.html
字典
字典是另一种可变容器模型,且可以存储任意类型对象。
dict1 = {key1:value1,key2:value2}
注意:键key是唯一的,但是值不用,值可以是字符串、数字或元组。
dict2 = {'a':1,'b':'12'}
dict3 = {'Name':'jack','Age':'22','Class':'first'}
print("dict3['Name']: ",dict3['Name']) #访问字典中的值
print("dict3['Age']: ",dict3['Age'])
dict3['Age'] = 20
dict3['School'] = 'python' #修改字典
print("dict3['Age']: ",dict3['Age'] )
print("dict3['School'] ",dict3['School'])
del dict3['Name'] #删除字典中的元素
print(dict3)
dict3.clear()
# del dict3 删除字典
print(dict3)
字典值的特性:
不允许一个键出现两次;
键必须不可变,可以用数字、字符串或元组,但是列表不行。
字典内置函数&方法

内置方法如下:
#radiansdict.clear() 删除字典内所有元素
dict4 = {'name':'bob','age':19}
print(dict4)
dict4.clear()
print(dict4)
print(len(dict4))
#radiansdict.copy() 返回一个字典的浅复制
dict5 = {'name':'bob','age':19,'class':'two'}
dict6 = dict5.copy()
print('新复制的字典是: ',dict6)
'''
#radiansdict.fromkeys()
# 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
seq -- 字典键值列表。
value -- 可选参数, 设置键序列(seq)的值。
'''
dict5 = {'name':'bob','age':19,'class':'two'}
dict7 = dict5.fromkeys(dict5)
print('新的字典是: %s' % str(dict7))
dict8 = dict5.fromkeys(dict5,10)
print('新的字典是: %s' % str(dict8)) # radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
dict5 = {'name':'bob','age':19,'class':'two'}
print('age的值是: %s' % dict5.get('age'))
print('sex的值是: %s' % dict5.get('sex','na'))
# key in dict 如果键在字典dict里返回true,否则返回false
dict5 = {'name':'bob','age':19,'class':'two'}
if 'age' in dict5:
print('age键存在')
else :
print('age键不存在')
if 'sex' in dict5:
print('sex键存在')
else :
print('sex键不存在')
# not in 同理可知
# radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组
print("value : %s" % dict5.items())
# radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表
dict5.keys()
print(list(dict5.keys()))
'''
radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
key -- 查找的键值。
default -- 键不存在时,设置的默认键值。
'''
print("age键的值是 :%s" % dict5.setdefault('age',None))
print("sex键的值是 : %s" % dict5.setdefault('sex',None))
print("新字典是: ", dict5)
# radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里
dict5 = {'name':'bob','age':19,'class':'two'}
dict7 = {'sex':'male'}
dict5.update(dict7)
print("更新字典dict5: ", dict5) # radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表
print("字典所有值是: ", list(dict5.values())) # pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
dict5 = {'name':'bob','age':19,'class':'two'}
pop_obj = dict5.pop('name')
print(pop_obj) # popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。
dict5 = {'name':'bob','age':19,'class':'two'}
pop_obj = dict5.popitem()
print(pop_obj)
print(dict5)
python3学习笔记七(字典)的更多相关文章
- 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 ...
随机推荐
- UI 增加文本
1.直接在节点上增加VALUE NODE. 2.写GET,SET,I,P的相关实现 method GET_ZH12. DATA: lr_current TYPE REF TO if_bol_bo_pr ...
- MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.1 A map with single layer
MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.1 A map with single layer 一.前言 开始MapServer用 ...
- Vue调用百度接口做百度搜索
这两天由于学习需要,需要用vue来调用api接口,但是以前没怎么接触过用vue来调用接口,不会没关系,发挥我们强大的学习能力,都不是事,学习了半天基本也就可以初级上手了,写篇随笔记录下来,方便以后回顾 ...
- Oracle 11g 静默安装脚本
#!/bin/bash####安装Oracle所需依赖包function install_yum(){ yum -y install $1} i="perl-Data-Dumper lvm ...
- python mysql and ORM
http://www.cnblogs.com/alex3714/articles/5950372.html 9. ORM sqlachemy学习 http://www.cnblogs.com/alex ...
- 2018-北航-面向对象-前三次OO作业分析与小结
基于度量的程序结构分析 由于平时使用了NetBrains出品的IDEA作为IDE,在分析程序的时候我使用了IDEA的插件Metrics Reloaded.然而在使用时发现不懂得很多分析项目的含义,因此 ...
- less 查看日志
上下键,空格下一页,字母B上一页 ,字母Q退出,n(小写字母n)上一个关键字位置N(大写字母N)下一个关键词位置] 二.查找某个时间段的日志:比如查询2018-08-15 10:37:32到2018 ...
- grep语法2
grep 参数 -n :显示行号-o :只显示匹配的内容-q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容 -l :如果匹配成功,则只将文件名打印出来,失败则 ...
- WEB学习笔记1-综述
WEB前端基本技术:HTML.CSS.JavaScript 概念: 从职责上讲,Web前端开发要涉及网站开发的方方面面,从前端UI到和后端的数据交互都属于前端开发的范畴.Web前端开发是兼具艺术气息和 ...
- Quartz动态修改数据库cronExpression(无须重启服务器即可更改定时时间)
quartz通过动态设置配置文件确实可以实现与数据库的同步,但现实开发上线后我们基本是不会对配置文件等进行变动,因为重启一次服务器所需的成本太多. 这时,就需要我们仅仅修改数据库就能实现动态的更新定时 ...