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)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
随机推荐
- 最短路中部分点仅仅能从中随意选取K个问题
题意:给N个点,还有另外m个点(当中仅仅能选K个).求最短路. 思路:在SPFA的基础上,用一个数组来统计,在某点入队时(要拓展其它点了),若该点是m个点中的,则count[i]=原来的+1:若不是. ...
- css3兼容代码
1. 渐变:.gradient{ width:300px; height:150px; filter:alpha(opacity=100 finishopacity=50 style=1 startx ...
- OracleHelper.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Conf ...
- struts中如何实现国际化,涉及哪些文件?
struts中如何实现国际化,涉及哪些文件? 解答:“国际化”是指一个应用程序在运行时能够根据客户端请求所来自的国家/地区.语言的不同而显示不同的用户界面.Struts框架通过使用<bean:m ...
- android Dialog 底部弹出
. if (dialShareDialog == null) { dialShareDialog = new Dialog(context, R.style.dialog); dialShareDia ...
- redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 问题解决
1.启动redis 客户端 redis-cli 报错 redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 是因 ...
- Cocos2d-x 3.3Bate0 ExpandedListView
之前写的ExpandedListView版本号因为版本号升级这里提供Cocos2d-x 3.3Bate0 版本号 代码下载:http://download.csdn.net/detail/qqmcy/ ...
- windows 中 Eclipse 打开当前文件所在文件夹
默认情况下使用eclipse打开当前文件所在文件夹很麻烦,需要右键点击 Package Explorer 中的节点选择属性,然后复制路径,再打开资源管理器,然后再把路径粘贴进去.而MyEclipse一 ...
- 3969 [Mz]平方和【斐波那契平方和】
3969 [Mz]平方和 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 斐波那契数列:f[0 ...
- Apache-ActiveMQ transport XmlMessage
前言 本文原创,转载请说明出处! Apache-ActiveMQ:是Apache提供的一款开源的消息传送服务,不论是安装还是使用都非常简单实用,可以作为消息缓存管理器来使用(个人观点),看看Activ ...