day_05 字典
1. 字典
1.成对保存数据 ,以key:value形式保存
2.以{}表示,每项内容都是key:value,元素之间用逗号隔开
3.key是不可重复的
4.字典以hash算法来计算key的hash值,使用hash值来保存数据
hash算法得到唯一的值(可能很大,可能很小.可能正数,可能负数)
可hash(不可变)数据类型:int bool str tuplu
不可hash数据类型:list dic set
5.hash算法是无序的,所以字典的储存是无序的
2. 增改删查
1.增
1.dic.["key"]=value dic[字典中不存在的key]=value,如果已存在key,会修改value值
2.setdefault('key',value) 如果字典中key存在,就不会进行任何操作
2.删
1.pop(key) 指定key删除
2.popitem() 看到的是删除最后一个,实际是随机删除的
3.clear() 清空
4.del dic[key]
3.修改
1.dic[key]=新value dic[已经存在的key]=新value
2.dic.update(dic2) 把dic2的内容覆盖到dic1中,如果key存在,则修改value值,
如果key不存在则新增
4. 查询
通过key来查找具体数据
dic[key] 可能会报错 如果key不存在,会报错
dic.get(key) 当key不存在,默认返回NONE
dic.setdefault("x","y") 当key不存在,默认返回y值,当key存在,返回value
3.常见操作
keys() key的集合
values() value的集合
items() 键值对的集合(key,value)
真正的字典的迭代,拿到就是key以及value
for k in dic.keys():
print(k) 类似列表,但不是列表,可以把他当列表用
print(dic(key))
for value in vaues():
print(value) 类似列表,但不是列表,可以把他当列表用
for k,v in items():
print(k,v) 这个东西是列表,但是列表里面装的是元组
延伸:结构
a,b=2,3
print(a,b) 结果是2,3(结构的时候注意数量要匹配)
day_05 字典的更多相关文章
- 【DG】Oracle_Data_Guard官方直译
[DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍 Oracle Data Guard概念和管理10g版本2 Oracle Data Guard ...
- DVWA实验之Brute Force(暴力破解)- Low
DVWA实验之Brute Force-暴力破解- Low 这里开始DVWA的相关实验~ 有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...
- Oracle错误览表
Oracle 错误总结及问题解决 ORA 本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html 作者@承影剑 ORA-0 ...
- Javacript实现字典结构
字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- 增强版字典DictionaryEx
代码 public class DictionaryEx<TKey, TValue> : IDictionary<TKey, TValue> { /// <summary ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- python之最强王者(8)——字典(dictionary)
1.Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包 ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
随机推荐
- Lucene打分公式的数学推导
原文出自:http://www.cnblogs.com/forfuture1978/archive/2010/03/07/1680007.html 在进行Lucene的搜索过程解析之前,有必要单独的一 ...
- Codeforces #528 Div2 F (1087F) Rock-Paper-Scissors Champion 树状数组+set
题意:n个人站成一排,初始时刻每个人手中都有一个图案,可能是石头,剪刀,布3个中的1种,之后会随机选取相邻的两个人玩石头剪刀布的游戏,输的人会离开(如果两个人图案相同,则随机选择一个人离开).执行(n ...
- 列表控件JList的使用
--------------siwuxie095 工程名:TestUI 包名:com.siwuxie095.ui 类名:TestList.jav ...
- koa1链接mongodb
1.项目下安装mongodb和mongoose npm install mongodb --save-dev npm install mongoose --save-dev 2.router中 var ...
- Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法、编程步骤、缓存问题、乱码问题
目录 1 什么是ajax 2 获取ajax对象 3 ajax对象的属性和方法 4 使用ajax的编程步骤 5 缓存问题 6 乱码问题 1 什么是ajax ajax是一种用来改善用户体验的技术,其本质是 ...
- iOS 列表三级展开
效果图如下: #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDe ...
- Gearman 分布式的异步任务分发框架
What is Gearman? Gearman provides a generic application framework to farm out work to other machines ...
- [转]JQuery 如何选择带有多个class的元素
比如下面代码需要选择同时带有这几个class的元素,怎么写? 1 <div class="modal fade in"></div> A: 1. 依次过滤 ...
- ROS Learning-028 (提高篇-006 A Mobile Base-04) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(不精确的制定目标位置)
ROS 提高篇 之 A Mobile Base-04 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(不精确的制定目标位置) 我使用的虚拟机软件:VMware Workstation ...
- GCD学习(六) dispatch_async 和dispatch_sync
dispatch_sync(),同步添加操作.他是等待添加进队列里面的操作完成之后再继续执行. dispatch_queue_t concurrentQueue = dispatch_queue_cr ...