一.字典:

1. 字典

  dict 用{}来表示 键值对数据 {key:value} 唯一性

  键   都必须是可哈希的 不可变的数据类型就可以当做字典中的键

  值   没有任何限制

1.1  字典的创建:

  (1)dic = {k:v}

  (2)fromkeys

  fromkeys() 函数用于创建一个新字典,以序列 seq 中的每个元素做字典的键,value 为字典所有键对应的初始值。

  • 语法:dict = dict.fromkeys(seq, value )
  • seq -- 字典键值列表。 
  • value -- 可选参数, 设置键序列(seq)的值。

2. 增删改查

 增:

  dic[key] = value            键不在字典中存在,添加键值对

  dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加

  可以通过key查询,没有这个key返回None

dic = {'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}

dic['火女'] = '人头狗'   # 新增
print(dic) dic.setdefault('火女','安妮') # 如果键在字典中存在就不进行任何操作,不存在就进行添加{'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}
dic.setdefault('狗屎','火男')
print(dic) #{'火女': '安妮', '火男': '布兰德', '维恩': '暗影猎手', '剑豪': '哈莎阁', '狗屎': '火男'}

 删:

  pop(key) 有返回值 返回的是被删除value
  del dic[key]
  popitem() 随机删除     #返回值 一个元组 (key,value)

  clear() 清空字典

 改:

  dic[key] = value      # 强制修改

  dic.update(dic1)   #更新  用dic1对 dic更新

dic = {'火女':'小熊','维恩':'暗影','剑豪':'hash aq'}
dic1 = {'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}
dic.update(dic1)
print(dic) # {'火女': '安妮', '维恩': '暗影猎手', '剑豪': '哈莎阁', '火男': '布兰德'}

 查:

  get(key, 返回内容)         #没有返回None 或 可以指定返回内容
  dic[key]           #没有这个键的时候查询会报错

  setdefault(key)   没有返回None

  for 循环 查

3.字典的其他操作:

  keys 获取到所有的键存在一个高仿的列表中

  values 获取到所有的值存在一个高仿的列表中

  items 获取到所有的键值对已元祖的形式存在一个高仿的列表中

 解构: 

a,b = 1, 2

a,b = (1,2)

a,b = [1,2]

4. 字典的嵌套:

dic = {
'name':'王二',
'age':43,
'wife':{
'name':'张三',
'age':39,
'salary':100000
},
'baby':[
{'name':'熊大','age':18},
{'name':'熊二','age':15},
] } dic['baby'][0]['age'] = 19   print(dic)

dict字典;dict的操作的更多相关文章

  1. dict 字典的常用操作

    #dict 字典的常用操作: id_db.get() #获取 id_db.update() #更新(覆盖)字典 id_db.values() #打印字典里所有的values id_db.keys() ...

  2. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

  3. Python3中dict字典的相关操作函数

    字典对象的内建函数 1. clear() 清空字典. 例: >>> a = {1:3, 2:4} >>> a.clear() >>> a {} 2 ...

  4. python基础2--数据结构(列表List、元组Tuple、字典Dict)

    1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...

  5. Redis原理再学习04:数据结构-哈希表hash表(dict字典)

    哈希函数简介 哈希函数(hash function),又叫散列函数,哈希算法.散列函数把数据"压缩"成摘要,有的也叫"指纹",它使数据量变小且数据格式大小也固定 ...

  6. D11 列表 list 元祖 字典dict

    取值 name = "alexdfg" print(name[3:5]) 取出 ex name = "alexdfg" print(name[3]) 取出e 列 ...

  7. python数据类型:字典dict常用操作

    字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...

  8. Python操作字典(dict)

    一.字典定义 >>> dict={} 二.字典元素添加 >>> dict['性别']='男' >>> dict {'性别': '男'} >& ...

  9. python字典dict的增、删、改、查操作

    ## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...

随机推荐

  1. Android自定义view与activity的传值

    昨晚在写团队项目的时候,遇到一个问题,直到今天早上才解决...即在自定义view"转盘"结束转动后获取结果的处理中,我是想吧值传到activity中的一个textview中的,但我 ...

  2. FP寻源报错

    ERROR [HY000] [Oracle][ODBC][Ora]ORA-01114: IO error writing block to file  (block # )  ORA-01114: I ...

  3. 10 华电内部文档搜索系统 search02

    搜索项目并不是一个很大的项目,在实际项目中往往是作为子项目和别的项目集成在一起的.比如说和OA项目集成在一起,作为另外一个项目的子系统来使用.搜索项目的功能并不复杂. 整个项目是文档搜索项目,如题:企 ...

  4. 如何用shell脚本执行或关闭jar包服务?

    现在springboot很流行,但是大家都知道springboot是以jar包的方式进行打包的,那样就少不了开启或关闭服务的操作了,但是命令方式未免过于繁琐. 下面记录shell脚本的方式启动或关闭服 ...

  5. 项目介绍4 y有用

    在青岛做了两年开发,大大小小参与过三个项目的开发,一个是某公司内部的人员管理系统,一个是物流项目,最近做的是一个电商项目. 前两个项目采用的是ssh框架搭建的,最近的项目采用的是ssm框架搭建的.在实 ...

  6. C++ 模板 与 泛型编程

    C++ 模板 与 泛型编程 前言 模板有两种:类模板和函数模板 .模板是泛型编程的基础. 什么叫:泛型编程? 使用独立于特定类型的方式进行编程.也就是我们在编程的时候不明确的写上类型,而是使用一个模板 ...

  7. js setTimeout 和 setInterval 区别

    setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的 ...

  8. 泛型、反射和抽象工厂结合解决多DB问题

  9. 数据库版本控制工具:NeXtep Designer

    下载地址:http://pan.baidu.com/s/1dFuxKFB NeXtep Open Designer 是一个强大的多人协同/多平台的开源数据库的开发工具,致力于于自动化和生产级的集成开发 ...

  10. jedis的publish/subscribe[转]含有redis源码解析

    首先使用redis客户端来进行publish与subscribe的功能是否能够正常运行. 打开redis服务器 [root@localhost ~]# redis-server /opt/redis- ...