python全栈开发从入门到放弃之字典的应用
1、存值
info_dic={'name':'egon','age':18,'sex':'male'}
info_dic['job']='IT' #根据key来存值
print(info_dic)
输出结果:
{'name': 'egon', 'age': 18, 'sex': 'male', 'job': 'IT'}
2、取值
1 info_dic={'name':'egon','age':18,'sex':'male'}
2 print(info_dic['name']) #根据Key来取值
3
4
5 输出结果:
6 egon
#如果没有在字典中没有你要找的key则会报错
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic['name11111111'])
#get找不到要找的key值不会报错,会返回默认值None
get()
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic.get('name11'))
None
3、pop
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic.pop('name111',None)) #不是单纯的删除,可以看到返回的值,如果没key存在则返回值,没有存在则返回默认值None
输出结果:
None
4、popitem()
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic.popitem()) #默认从后往前的删除取值,但不是单纯的删除有返回值
print(info_dic)
输出结果:
('sex', 'male')
{'name': 'egon', 'age': 18}
5、keys
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic.keys()) #取字典的所有key
输出结果:
dict_keys(['name', 'age', 'sex'])
6、values
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic.values()) #取字典的所有value值
输出结果:
dict_values(['egon', 18, 'male'])
7、键值对 items()
info_dic={'name':'egon','age':18,'sex':'male'}
print(info_dic.items()) #键值对,取字典的键值对
输出结果:
dict_items([('name', 'egon'), ('age', 18), ('sex', 'male')])
应用场景:
# print('========>')
# for k in info_dic.keys():
# print(k)
# for val in info_dic.values():
# print(val)
# for k,v in info_dic.items(): #k,v=('name', 'egon')
# print(k,v)
8、长度 len
info_dic={'name':'egon','age':18,'sex':'male'}
print(len(info_dic))
输出结果:
3
9、包含in
#查看是否包含key、value、键值对有则返回True,没有则返回False
info_dic={'name':'egon','age':18,'sex':'male'}
print('name' in info_dic)
print('name' in info_dic.keys())
print('egon' in info_dic.values())
print(('name','egon') in info_dic.items()) 输出结果:
True
True
True
True
10、updata
info_dic={'name':'egon','age':18,'sex':'male'}
info_dic.update({'a':1,'name':'Egon'}) #对字典进行更新没有则往后添加,有的话则更改value是否改变,改变了则更新
print(info_dic)
输出结果:
{'name': 'Egon', 'age': 18, 'sex': 'male', 'a': 1}
11、
python全栈开发从入门到放弃之字典的应用的更多相关文章
- python全栈开发从入门到放弃之迭代器生成器
1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable 可迭代的 可迭 ...
- python全栈开发从入门到放弃之socket网络编程基础
网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...
- python全栈开发从入门到放弃之递归函数的调用
1.递归效率低,需要在进入下一次递归时保留当前的状态,见51cto博客 解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自动但是python又没有尾递归,且对递归层级做了限制 必须有一个明确的 ...
- python全栈开发从入门到放弃之初识面向对象
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...
- python全栈开发从入门到放弃之面向对象的三大特性
组合 class Course: def __init__(self,name,period,price): self.name = name self.period = period self.pr ...
- python全栈开发从入门到放弃之socket并发编程多进程
1.1 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程 ...
- python全栈开发从入门到放弃之socket并发编程多线程
一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...
- python全栈开发从入门到放弃之socket并发编程之协程
一.为什么会有协程 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情 ...
- python全栈开发从入门到放弃之网络基础
一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
随机推荐
- php调用C代码的方法详解和zend_parse_parameters函数详解
php调用C代码的方法详解 在php程序中需要用到C代码,应该是下面两种情况: 1 已有C代码,在php程序中想直接用 2 由于php的性能问题,需要用C来实现部分功能 针对第一种情况,最合适的方 ...
- nginx健康节点检查nginx_upstream_check_module 淘宝的upstream_check进行nginx后端检查 tengine
Nginx实战系列之功能篇----后端节点健康检查 2015-01-18 22:35 5007人阅读 评论(0) 收藏 举报 分类: Nginx(28) 目录(?)[+] 公司前一段对业务 ...
- Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)
http://darksleep.com/player/JavaAndUnsignedTypes.html —————————————————————————————————————————————— ...
- 腾讯课堂1:使用Jmeter内置的录制功能进行录制
1.设置http代理服务器 打开火狐——点击选项——高级——网络——设置 设置完成点击确定 2.查看端口是否被占用的命令 netstat -ano 3.排除模式 .*\.gif .*\.css .* ...
- 1小时轻松上手springmvc,视频网站后台开发
由于最近半年一直在用springboot,但是也不能忘了本,于是把springmvc重新练了下,做了个前端传个表单,后台接收并显示的界面,该项目可以上传视频的URL,然后前端进行页面的播放,项目采用s ...
- (转)fock函数详解
转自:http://www.cnblogs.com/bastard/archive/2012/08/31/2664896.html linux中fork()函数详解 一.fork入门知识 一个进程, ...
- UE问题分部解决
0.寻找Actor ALandscape *land=nullptr; for (TActorIterator<ALandscape> It(GEditor->GetEditorWo ...
- Java中匿名内部类
匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象 ...
- Django - admin后台、auth权限
admin后台 一.创建一个管理员用户 (1).设置时区.语言(可选步骤) 打开settings.py,改成下面那样 LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'As ...
- dubbo 序列化 问题 属性值 丢失 ArrayList 解决
参考文章:http://blog.csdn.net/wanyanxgf/article/details/6944733 http://tianya23.blog.51cto.com/1081650/5 ...