Python一基本数据类型(dict)
一. 字典的简单介绍
字典(dict)是python中唯一的一个映射类型.他是以{ }括起来的键值对组成. 在dict中key是 唯一的. 在保存的时候, 根据key来计算出一个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法
已知的可哈希(不可变)的数据类型: int, str, tuple, bool
不可哈希(可变)的数据类型: list, dict, set
语法 :
{key1: value1, key2: value2....}
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据
dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的. 而hash表不是连续的. 所以不能进行切片工作. 它只能通过key来获取dict中的数据
二. 字典的增删改查和其他相关操作
1. 增加
# 增加
#如果dict中没有这个key,就会新增一个key_value的组合进dict
dic = {'name':'武松'}
dic['行者'] = '武松'
print(dic)
dic.setdefault('九纹龙','')
print(dic)
2. 删除
# 删除
dic = {'及时雨':'宋江','玉麒麟':'卢俊义','智多星':'吴用'}
ret = dic.pop('及时雨') #如果dic没有这个key,则报错.反之,返回被删value
print(dic)
print(ret)
del dic['玉麒麟'] #随机删除
ret = dic.popitem() #清空字典所有内容
dic.clear()
print(dic)
3. 修改
#修改
dic = {'及时雨':'宋江','玉麒麟':'卢俊义','智多星':'吴用'}
dic1 = {'及时雨':'宋江','玉麒麟':'杨雄','智多星':'吴用'}
dic.update(dic1)
# 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存 在key, 则新增.
dic = {'age':,'name':'jiam','money':}
dic['age'] = dic['age'] - #通过key来进行修改
print(dic)
4. 查询
查询⼀一般⽤用key来查找具体的数据.
#查询
dic = {'age':,'name':'jiam','money':}
print(dic['name'])
print(dic['hobby']) #通过key进行查询,如果key不存在,则报错
print(dic.get('hobby')) #key不存在,返回默认值None,也可新设置默认值 # . 首先判断原来字典有没有这个key。如果没有,执行新增.
# . 用这个key去字典中查询,返回查到的结果
dic.setdefault('hobby','篮球')
ret = dic.setdefault('name')
print(ret)
print(dic)
5. 其他相关操作
# 解构,解包
a,b = (,)
print(b)
dic = {'及时雨':'宋江','玉麒麟':'卢俊义','智多星':'吴用'}
print(dic.keys()) #打印所有的key
print(dic.values()) #打印所有的value
print(dic.items())
for a,b in dic.items():
print(a) for a in dic:
print(a)#直接循环,打印的是key
print(dic[a])
#修改
dic = {'及时雨':'宋江','玉麒麟':'卢俊义','智多星':'吴用'}
dic1 = {'及时雨':'宋江','玉麒麟':'杨雄','智多星':'吴用'}
# 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存 在key, 则新增.
dic = {'age':,'name':'jiam','money':}
dic['age'] = dic['age'] - 1 #通过key来进行修改
print(dic)
Python一基本数据类型(dict)的更多相关文章
- python 基础之数据类型
一.python中的数据类型之列表 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 二.列表常用操作 >切片>追加>插入>修改& ...
- Python学习 之 数据类型(邹琪鲜 milo)
1.Python中的数据类型:数字.字符串.列表.元组.字典 2.数字类型包括整型.长整型.浮点型.复数型 type(number):获取number的数据类型 整型(int):范围:-2,147,4 ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- python的组合数据类型及其内置方法说明
python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...
- python 基础操作--数据类型
一.变量 1.定义:将运算的中间结果暂存到内存,以便后续程序调用. 2.命名规则 1.变量由字母.数字.下划线搭配组合而成: 2.不可以用数字开头,也不能全都是数字: 3.不能是python 关键字, ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- Python学习之路【第二篇】-pyc简介、Python常用的数据类型及其用法和常用运算符
1.pyc简介 python程序在运行时也有编译过程,编译后会产生.pyc文件.这是一种由python虚拟机执行的二进制文件(字节码),用于保存内存中PyCodeObject,以便加快程序的加载运行. ...
随机推荐
- spring4+springmvc+hibernate4 demo
来自 CSDN . 其实下面的更好:加入了maven集成.Spring4 MVC Hibernate4集成 下面也是一篇讲的很详细的文章: hibernate4无法保存数据 而自己遇到的hiberna ...
- 如何控制WAP网站上输入框的默认键盘类型
百度上对这样的资料介绍很多,基本上都和这个页面是一个意思 http://www.w3school.com.cn/html5/att_input_type.asp : 语法 <input type ...
- EasyUI学习之menu and button(菜单和按钮)
前言 今天下午的天气感觉格外的气闷,整个人有一种黏糊糊的感觉,格外的不舒服.加之立即要放假了了,感觉自己全然坐不住呢(节前综合症么).只是学习还是的继续的. 原定计划这篇文章本来应该是关于search ...
- 在sql语句中 inner join ,left join,right join 和on 以及where
当使用几种join的时候,on是指表连接起来基于的条件,where是对连接的表进行过滤的条件. where 1=1 当我们需要拼接字符串的时候 在基础sql字符串中写上where 1=1 可以不需要 ...
- 伪随机数与采样(sampling)
计算机本身是无法产生真正的随机数的,但是可以根据一定的算法产生伪随机数(pseudo-random numbers).最古老最简单的莫过于 Linear congruential generator: ...
- scipy —— 丰富的子包(io、cluster)
io,顾名思义,input/output,输入输出接口: 1. io Input and output (scipy.io) - SciPy v0.18.1 Reference Guide wavfi ...
- OpenWrt 主的发展版本号trunk MT7620N 无线驱动程序bug
周边环境: OpenWrt Development Trunk: svn co svn://svn.openwrt.org/openwrt/trunk/ BUG: 1. 无线无法建立连接. 2. 无线 ...
- OnPropertyChanged的使用
#region INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; ...
- boost库asio详解8——几个TCP的简单例子
摘于boost官网的几个例子, 做了点小修改, 笔记之. 同步客户端 void test_asio_synclient() { typedef boost::asio::io_service IoSe ...
- Debug权限提升
procedure SetPrivilege; var OldTokenPrivileges, TokenPrivileges: TTokenPrivileges; ReturnLength: dwo ...