一.字典:

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. AttributeUsage

    [AttributeUsage] System.AttributeUsage声明一个Attribute的使用范围与使用原则. AllowMultiple 和 Inherited 参数是可选的,所以此代 ...

  2. default of c#

    [default of c#] 在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构. 给 ...

  3. Quartz_2_简单编程式任务调度使用(CronTrigger)

    第二个要介绍的任务调度器中的触发器是 CronTrigger ,相比较 SimpleTrigger 来说,CronTrigger 相对灵活,对于复杂的业务需求来说,更加的实用.要在使用 CronTri ...

  4. 第二个MFC实例:GPA计算器

    一.目的:此文通过一个GPA计算器的制作,介绍基于对话框的应用程序的编程方法.常用控件的编程技巧以及控件外观的更改技巧. 二.功能描述:所谓GPA计算器,即进行GPA换算. 功能要求由如下几点: 1. ...

  5. Mesos的资源分配

    Apache Mesos能够成为最优秀的数据中心资源管理器的一个重要功能是面对各种类型的应用,它具备像交警一样的疏导能力.本文将深入Mesos的资源分配内部, 探讨Mesos是如何根据客户应用需求,平 ...

  6. th:onclik()传参问题(前端使用了bootstrap)

    网上大多帖子是这么写的 onclick调javascript函数时,不能直接使用onclick=“editUser(${prod.id})”,这样会报错,需要修改成如下的格式. <a href= ...

  7. eclipse插件svn图标详细含义

    链接:http://pan.baidu.com/s/1qYSFfTq 密码:ez8p

  8. C++学习--第一个程序

    C++控制台应用程序 我们创建一个包含预编译头的C++控制台应用程序时,会发现其结构是这样的: 1)理解预编译头文件: 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件( ...

  9. C# JackLib系列之自定义鼠标风格的实现

    在我们开发的过程中,有时需要我们来自定义鼠标的形状和大小,刚巧前一阵子正好用到了这个技术,找了好多资料,基本上都是黑白色的鼠标风格实现,而我要的则是自定义大小和彩色风格的光标样式.百度上的资源又太少, ...

  10. iOS应用开发之CoreData[转]

    我目前的理解,CoreData相当于一个综合的数据库管理库,它支持sqlite,二进制存储文件两种形式的数据存储.而CoreData提供了存储管理,包括查询.插入. 删除.更新.回滚.会话管理.锁管理 ...