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)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
随机推荐
- windows7常用操作命令
1.打开命令行 按住Windows键加R键,打开运行窗口 2.打开笔记本 运行窗口中输入:notepad,点击确定或回车,打开记事本工具 主要作用:浏览网页时,看到一些有用的话,那么你是怎么把它记录下 ...
- linux怎么发邮件
邮箱配置: tail /etc/mail.rc #要写在一行 set from=gb17735517416@163.com smtp=smtp.163.com smtp-auth-user=gb ...
- MFC自绘框架窗口客户区
利用MFC开发用户界面往往需要需要根据要求进行界面美化,界面的美化包括很多内容,比如说界面各功能模块空间布局,控件位置选择,各功能模块区域的字体.背景颜色选择.添加位图,标题栏.菜单栏.状态栏等的重绘 ...
- 关闭ReSharper中的[ Use 'var' ]提示(Disable C# “var” Recommendation in ReSharper)
ReSharper,确实是个很不错的工具,代码如果写得不规范他会提示,而且可以根据自己公司的需求自定义代码规范. 默认设置的提示已经相当完美,但美中不足就是老提示你用var来代替所有类型. 按以下步骤 ...
- js 滚动页面
$(‘html, body’).animate({ scrollTop: 0}, ‘slow’);
- 模式识别之Shape Context---利用Shape Context进行形状识别
什么是Shape Context Shape Context是一个用于形状识别的,非常经典的特征(一串便于计算机处理的数字)提取方法,它由Serge Belongie和Jitendra Malik ...
- ORACLE 10g RAC [ CSSCLNT][1]clsssInitNative: connect failed, rc 9
"[ CSSCLNT][1]clsssInitNative: connect failed, rc 9“是Oracle RAC中经常遇到的问题,主要出现在安装过程和启动过程中.经常在$ORA ...
- centos 6.5 安装图形界面【转】
最近想在centos 6.5上安装图形界面,在网上找到了方法.[原文链接] CentOS6相对于CentOS5的安装有了不少的进步,有不少默认的选项可以选择,如: Desktop :基本的桌面系统,包 ...
- Linux增加swap分区的方法
在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swap分区2.用文件作为swap分区 (操作更简单,我更常用) 一.新建磁盘分区作为swap分区 1. # swapoff ...
- 涨姿势UWP源码——IsolatedStorage
前一篇涨姿势UWP源码分析从数据源着手,解释了RSS feed的获取和解析,本篇则会就数据源的保存和读取进行举例. 和之前的Windows Runtime一样,UWP采用IsolatedStorage ...