字典的创建方式  注意 字典是无序的   1. dic{"name":"yang","age":35}       常用还是用这个  2. dic3 = dict((("name","yang"),))     有点麻烦,借助类的方法创建:每个list或者dic都是自己的便携的创建方法。  3. dic6 = dict.fromkeys(["host1","host2","host3"],"test")     这个可以实现类似于初始化的操作,将多个键值一起赋值    打印出来之后:{'host1': 'test', 'host2': 'test', 'host3': 'test'}

字典的嵌套  内部可以嵌套列表元祖字符串等
 # 字典的嵌套
 china = {
     "shandong":["linyi","liaocheng"],
     "hubei":{"wuhan":"shenghui","suizhou":"city"},
     "dhahsd":"xxx"
 }

字典的遍历
 dic7 = {"name":"alex","age":18}
 print(dic7.items())
 for i in  dic7:           # 循环打印键
     print(i)

 for i in  dic7:           # 循环打印值
     print(i,dic7[i])      # 推荐用这种方式,效率高一些

 for i,v  in dic7.items(): # 循环打印值
     print(i,v)

增删改查

修改
 # 修改
 # 根据类型,字典就找键,列表就找索引位置,最后赋值
 china["shandong"][0] = "qingdao"
 print(china)
删除
 # 删除
 #del 删除指定键值对,也可以删除整个字典
 del dic5["name"]
 print(dic5)
 del dic5  # 删除整个字典

 #clear 清空,但是会保留空字典
 dic5.clear()
 print(dic5)

 # pop 弹出,可以返回值再次对其他变量进行赋值操作
 ret = dic5.pop("hobby")
 print(ret)
 print(dic5)

 #emmm...废物命令,字典是无序的,此命令是随机删除某个键值对,并以元祖形式
 a = dic5.popitem()
 print(a,dic5)

其他方法
 # 带默认值的查询
 # setdefault(键,默认值)
 # 根据键查值,若查不到返回默认值,查到则返回真实值
 print(china.setdefault("某个没值的或者不存在的键","默认值"))
 #  结果:默认值
 # 排序
 seq = {2:"}
 print(sorted(seq))           # 按照键排序
 print(sorted(seq.values()))  # 按照值排序
 # ps: 列表可以用.sort进行排序,字典里面没有这命令

总结:字典的值可以任意值,但是键不能是布尔值,字典,或者列表。字典是无序的.get      指定键来取其值,不存在时可以指定默认值,默认是none.update   更新已存在的,不存在可以增加。.keys     返回所有的键.valaues  返回所有的值.items    返回所有的键值对.pop      删除键,可赋值,赋值的时候是赋键的值,不存在时可以指定默认值,默认是none

day6 字典的更多相关文章

  1. 【学习笔记】--- 老男孩学Python,day6 字典

    详细方法:http://www.runoob.com/python/python-dictionary.html 1. dict 用大括号{} 括起来. 内部使用key:value的形式来保存数据 { ...

  2. day6 字典的增减查删

    字典的使用 一.字典的特性 字典是无序的,数据关联性强,键值对,唯一一个映射的数据类型 字典的键必须是可哈希的(不可变的数据类型:字符串,数字,布尔值,元祖),并且是唯一的 不可哈希的(可变的数据类型 ...

  3. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  4. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

  5. Oracle错误览表

    Oracle 错误总结及问题解决 ORA     本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html  作者@承影剑 ORA-0 ...

  6. python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝

    一.深浅拷贝 1.  值拷贝 ls1 = ls2  不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,l ...

  7. Python编程Day6——元组类型、字典类型、集合

    一.元组类型(tuple) 1.用途:记录多个值,当多个值没有改变的需求此时元组更为合适 2.定义:在()内用逗号分隔开多个任意类型的值(参数为for可以循环的对象) 3.常用操作: 索引(正取向+反 ...

  8. day6.python字典练习题

    1.有如下变量(tu是个元组),请实现要求的功能 tu = (“alex”, [11, 22, {“k1”: ‘v1’, “k2”: [“age”, “name”], “k3”: (11,22,33) ...

  9. day6 note 字典的增删改查(以及setdefault用法补充)

    今天的内容主要是join的用法和字典的用法,由于已经有前面的列表作为基础,所以还比较简单,不过因为昨天的作业比较难也比较多,所以作业的讲解占用的时间比较长.我需要好好消化一下作业的部分. 思维导图: ...

随机推荐

  1. BZOJ4237 JOISC2014 稻草人 CDQ分治、单调栈

    传送门 题意:给出平面上$N$个点,求满足以下两个条件的矩形:①左下角与右上角各有一个点:②矩形内部没有点.$N \leq 2 \times 10^5$,所有数字大于等于$0$,保证坐标两两不同 最开 ...

  2. linux中fork, source和exec的区别

    转:linux中fork, source和exec的区别 shell的命令可以分为内部命令和外部命令. 内部命令是由特殊的文件格式.def实现的,如cd,ls等.而外部命令是通过系统调用或独立程序实现 ...

  3. Mvc_缓存浅谈

    缓存是将信息放在内存中以避免频繁访问数据库从数据库中提取数据,在系统优化过程中,缓存是比较普遍的优化做法和见效比较快的做法. 对于MVC有Control缓存和Action缓存. 一.Control缓存 ...

  4. EF_DataFrist遇到的问题

    正在 Code First 模式下将此上下文与从 EDMX 文件生成的用于 Database First 或 Model First 开发的代码一起使用.这将无法正常工作.若要解决此问题,请不要删除引 ...

  5. Gerrit日常维护记录

    Gerrit代码审核工具是个好东西,尤其是在和Gitlab和Jenkins对接后,在代码控制方面有着无与伦比的优势. 在公司线上部署了一套Gerrit系统,在日常运维中,使用了很多gerrit命令,在 ...

  6. UVA - 116 Unidirectional TSP 多段图的最短路 dp

    题意 略 分析 因为字典序最小,所以从后面的列递推,每次对上一列的三个方向的行排序就能确保,数字之和最小DP就完事了 代码 因为有个地方数组名next和里面本身的某个东西冲突了,所以编译错了,后来改成 ...

  7. M2阶段事后总结报告

    会议照片: 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 开发一个快捷方便的记事本App.从用户体验角度出发,在一般记事本App的基础上进行创新 ...

  8. Linux期中总结

    在MOOC八周内容高度概括总结如下 (一)计算机是如何工作的 冯诺依曼体系结构——核心:存储程序计算机; X86汇编基础 (二)操作系统是如何工作的 三个法宝——存储程序计算机.函数调用堆栈.中断机制 ...

  9. guthub第一次作业连接及心得体会

    https://github.com/12wangmin/ GitHub的本意是旨在成为一种开放的软件协作平台,但它目前已成为一个巨大的综合性的平台,其作用远远超过单纯地开源代码.它现在在艺术家.建筑 ...

  10. java中实现全局变量的功能

    一.通过接口实现 二.通过静态变量  static声明 package test.autorun; import java.util.LinkedList; import java.util.Queu ...