dict的特性和基本语法——python3.6
- 特性
- key:value结构,字典中的每一个元素,都是键值对
- key必须可被hash,且必须为不可变数据类型,必须唯一
- 可存放任意多个值,可修改,可以不唯一
- 无序
- 查找速度快,因为hash可以把key变成数字,数字则可通过二分法快速查找,提高查找效率
- 基本语法
- clear:清空字典
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info) # =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
Info.clear()
print(Info) # =>{}- copy:复制字典
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
Info_new = Info.copy()
print(Info_new) # =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
- fromkeys:返回一个新的字典,key值可迭代,但所有的value都是相等的
Info = {}
Info_new = Info.fromkeys([1,2,3],'Hi')
print(Info_new) # =>{1: 'Hi', 2: 'Hi', 3: 'Hi'}- get:通过key获取对应的value,如果字典中key存在,则返回对应的value,如果不存在,返回None
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.get('stu2'))# =>HanMeiMei
print(Info.get('stu4'))# =>None- items:获取所有的key-value,以列表方式呈现
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.items())# =>dict_items([('stu1', 'LiLei'), ('stu2', 'HanMeiMei'), ('stu3', 'XiaoMing')])- keys:获取所有的key
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.keys()) # =>dict_keys(['stu1', 'stu2', 'stu3'])- values:获取所有的values
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.values()) # =>dict_values(['LiLei', 'HanMeiMei', 'XiaoMing'])- pop:pop(self,k,d=None)删除指定的key,如果key存在,则返回对应的value,如果key不存在,则返回指定的d,如果d未指定,则报错
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.pop('stu1'))# =>LiLei
print(Info.pop('stu4',0))# =>0
print(Info.pop('stu4'))# =>报错- popitem:删除字典中的一对key-value,无序的,当字典为空时,报错
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.popitem())# =>('stu3', 'XiaoMing')
print(Info.popitem())# =>('stu2', 'HanMeiMei')
print(Info.popitem())# =>('stu1', 'LiLei')
print(Info.popitem())# =>报错- setdefault:setdefault(self,k,d=None)如果key存在,则返回对应的value,如果key不存在,则将该key-value添加进字典,并返回该value(即指定的d),若d未指定,则为None
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
print(Info.setdefault('stu3','Jack'))# =>XiaoMing
print(Info)# =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
print(Info.setdefault('stu4','Jack'))# =>Jack
print(Info)# =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing', 'stu4': 'Jack'}update:更新字典,若key不重复,则类似增添新的key-value;若key重复,则key对应的value会被覆盖
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
Info_new = {'stu4':'Jack','stu5':'Tony','stu6':'Tom'}
Info.update(Info_new)
print(Info)# =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing', 'stu4': 'Jack', 'stu5': 'Tony', 'stu6': 'Tom'}Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
Info_new = {'stu1':'Jack','stu5':'Tony','stu6':'Tom'}
Info.update(Info_new)
print(Info)# =>{'stu1': 'Jack', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing', 'stu5': 'Tony', 'stu6': 'Tom'}
- 其他语法
- 循环输出所有的key
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
for key in Info:
print(key)Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
for key in Info.keys():
print(key)- 循环输出所有的value
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
for value in Info.values():
print(value)- 循环输出所有的key-value
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
for key in Info:
print(key,Info[key])del:删除指定的key,若key不存在,则报错
Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
del Info['stu1']
print(Info)# =>{'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
del Info['stu4']# =>报错
dict的特性和基本语法——python3.6的更多相关文章
- python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样
python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入 ...
- 10.1 ES6 的新增特性以及简单语法
ES6 的新增特性以及简单语法 let 和 const 模板字符串 箭头函数 对象单体模式 es6面向对象 模块化 let 和 const 之前一直用 var 来声明变量,ES6 新增 let 和 ...
- set的特性和基本用法——python3.6
特性 无序,不重复的数据组合,用{}表示,eg:{1,2,3,4,5,6} 用途 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之间的交集,差集,并集,对称差集,包含(子集和超集,相交 ...
- Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API
新语法 方法引用Method references Lambda语法 Lambda语法在AndroidStudio中报错 Stream API 我正参加2016CSDN博客之星的比赛 希望您能投下宝贵 ...
- Java8新特性 -- Lambda基础语法
Lambda 表达式的基础语法: Java8引入了一个新的操作符 “->” 该操作符称为箭头操作符或Lambda操作符, 该操作符将Lambda表达式拆分为两部分: 左侧: Lambda表达式 ...
- python学习2—python3特性与各种运算符
python学习2—python3特性与各种运算符 python3与python2相比具有的新特性 在python2中可以使用__future__模块调用python3的特性 print()函数必须带 ...
- Python基础语法题库
引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...
- python3入门
简介 计算机基本概念与程序设计语言分类 python风格指南 基础语法 python3 基础语法:基本输入输出 python3 基础语法:标识符和保留字 python3 基础语法:注释 python3 ...
- Python3学习(一)
基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入内容.#idle中按F5可以运行代 ...
随机推荐
- Ubuntu批量修改权限
Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」 即chmod以及chown,其中可以用递归参数-R来实现更改所有子文件和子目录的权限. 1.利用 ...
- tomcat配置https 和 http强制跳转https
https是http+ssl的可进行加密传输,身份认证的网络协议,防止数据在传输过程中被窃取.因此,https将得到越来越广泛的应用,下面是如何配置tomcat服务器让http自动转到https的步骤 ...
- js创建弹框(提示框,待确认框)
;;} html,body{text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-user-select:none;} a{color ...
- UVA 110020 Efficient Solutions (STL)
把一个人看出一个二维的点,优势的点就是就原点为左下角,这个点为右上角的矩形,包含除了右上角以外边界,其他任意地方不存在点. 那么所有有优势的点将会形成一条下凹的曲线. 因为可能有重点,用multise ...
- 分类回归树(CART)
概要 本部分介绍 CART,是一种非常重要的机器学习算法. 基本原理 CART 全称为 Classification And Regression Trees,即分类回归树.顾名思义,该算法既 ...
- Maven搭建Struts2+Spring3+Hibernate4框架
做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...
- Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法
XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- mysql中的的按小数位截取
format()函数返回类型是字符串,满三位会加一个逗号. 针对数字类型转换建议使用 convert或者cast函数,用法如下: format(param, 2) (不建议) convert(para ...
- Linux-CentOS6.9启动流程排错
1 . CentOS6.9启动流程 POST 加电自检,是BIOS功能的一个主要部分.负责完成对CPU.主板.内存.硬盘子系统.显示子系统.串并行接口.键盘.CD-ROM光驱等硬件情况的检测. Boo ...
- linux文件属性文文件类型知识
文件类型分别介绍: 1.普通文件:我们通过用ls -l来查看xxx.sql的属性,可以看到第一列内容为-rw-r--r--,值得注意的是第一个符号是-(英文字符减号),在Linux中,以这样的字符开 ...