什么是字典?

--key -value 的数据类型,找到key就可以找到对应的值

--字典形式:{key1:value1,key2:value2,......}

#!/usr/bin/python3
dict_1 = {', 'phone_number': '155-7777-7777'}

-- 字典嵌套使用:{key:{key,value},......}

city = {'湖南':
            {'长沙': '省会城市', '衡阳': '湖南第二大城市'},
        }

-- 判断key是否在字典中   :    key in dic  #在返回True,不存在返回False

#!/usr/bin/python3
dict_1 = {', 'phone_number': '155-7777-7777'}

try:
    if 'name' in dict_1:
        print(dict_1['name'])
except Exception as e:
    print(e)

字典有哪些特性?

--无序,why? 字典中通过key找到值,不需要记住位置

-- key值唯一,天生去重

字典中有哪些操作?

    dic[key]                         -- 查看key对应的value,不存在key出错

#!/usr/bin/python3
dict_1 = {', 'phone_number': '155-7777-7777'}try:
    print(dict_1['呵呵'])
except KeyError as e:       # 触发key异常
    print(e)

    dic.get(key)                   -- 有key对应value,返回,没有返回none

#!/usr/bin/python3
dict_1 = {', 'phone_number': '155-7777-7777'}

try:
    print(dict_1.get('呵呵'))    # 没有返回None
except KeyError as e:           # 触发key异常
    print(e)

    dic[‘key’] =‘value’   -- key存在则改value,不存在则添加进去

#!/usr/bin/python3
dict_1 = {', 'phone_number': '155-7777-7777'}

city = {'湖南':
            {'长沙': '城市', '衡阳': '湖南第二大城市'},
        }
try:
    dict_1['name'] = '北门吹雪'     # 修改value
    print(dict_1)

    dict_1['sex'] = '保密'          # 没有添加 sex:保密 键值对
    print(dict_1)

except Exception as e:              # 触发key异常
    print(e)

    del dic                                 -- 把字典全删了

    del dic[key]                         -- 删除对应的key和value

    dic.pop(key)                        -- 删除指定的值,key必须写,返回key对应的value

 #!/usr/bin/python3
 dict_1 = {', 'phone_number': '155-7777-7777'}

 try:
     del dict_1['name']              # 删除 'name': '一枝花'
     print(dict_1)

     result = dict_1.pop('age')      # 取出'age'对应的'18'返回
     print(result)

     del dict_1                      # 把字典删除了
     print(dict_1)                   # 触发字典没有定义异常

 except Exception as e:              # 触发异常
     print(e)
  1. 更新

    dic.update(dic2)                 -- 用dic2字典去更新dic字典,key不同则合并,key相同dic2的value覆盖dic的value

 #!/usr/bin/python3
 dict_1 = {', 'phone_number': '155-7777-7777'}

 city = {'湖南':
             {'长沙': '城市', '衡阳': '湖南第二大城市'},
         'name':'北门吹雪'
         }
 try:

     dict_1.update(city)     # 用city字典去更新dict_1字典
     print(dict_1)

 except Exception as e:              # 触发异常
     print(e)
  1. 复制

    --.copy()                             -- 和列表一样,浅浅拷贝大坑

 #!/usr/bin/python3
 dict_1 = {', 'phone_number': '155-7777-7777'}

 city = {'湖南':
             {'长沙': '湖南第一大城市', '衡阳': '湖南第二大城市'},
         'name':'北门吹雪'
         }
 try:
     city_2 = city.copy()
     city_2['name'] = '西门吹风'              # 更改city_2一层的数据
     city_2['湖南']['长沙'] = '全国知名城市'   # 更改city_2嵌套的数据

     print('city:', city)                    # 一层不随着更改
     print('city_2:', city_2)                # 二层随着更改,大坑

 except Exception as e:              # 触发异常
     print(e)

如何查看字典单边值?

  - dic.key()                              -- 打印所有key

  - dic.value()                           -- 打印所有的value

  - dic.setdefault(key,value)       --先去取key对应的值,没有则创建

 #!/usr/bin/python3
 dict_1 = {', 'phone_number': '155-7777-7777'}

 city = {'湖南':
             {'长沙': '湖南第一大城市', '衡阳': '湖南第二大城市'},
         'name':'北门吹雪'
         }
 try:

     print('key:', city.keys())
     print('value:', city.values())

     result = dict_1.setdefault('phone_number', '呵呵')    # 有获得value
     print(result)

     result = dict_1.setdefault('phone', '安卓')           # 没有获得 安卓 ,并添加'phone': '安卓' 键值对到dict_1字典中
     print(result)
     print(city)

 except Exception as e:              # 触发异常
     print(e)

python_8_字典的更多相关文章

  1. 【DG】Oracle_Data_Guard官方直译

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

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

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

  3. Oracle错误览表

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

  4. Javacript实现字典结构

    字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...

  5. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  6. 增强版字典DictionaryEx

    代码 public class DictionaryEx<TKey, TValue> : IDictionary<TKey, TValue> { /// <summary ...

  7. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  8. python之最强王者(8)——字典(dictionary)

    1.Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包 ...

  9. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

随机推荐

  1. 20 Zabbix系统性能优化建议

    点击返回:自学Zabbix之路 20 Zabbix系统性能优化建议 1. Zabbix性能变慢的可能表现: zabbix队列有太多被延迟的item,可以通过administration-queue查看 ...

  2. BinderPool — Andorid端的“服务发现治理工具”

    导语 最近在学习微服务相关知识,突然想到:微服务的思想虽然是在server端的场景下提出来的,但是无论是server,还是移动端,思想是相通的,移动端也会有多服务的场景,就同样面临多服务需要整合治理的 ...

  3. ztree使用font-awesome字体的问题,

    ztree要使用自定义图标字体的时候 需要自己做皮肤cssstyle,官方有文档,但是有些时候我们值需要简单的设置图标字体class样式 是没办法使用的,我们需要对两个函数进行修改. 下面是两个函数请 ...

  4. 转JS--通过按钮直接把input或者textarea里的值复制到粘贴板里

    document.activeElement属性为HTML 5中新增的document对象的一个属性,该属性用于返回光标所在元素.当光标未落在页面中任何元素内时,属性值返回body元素. setSel ...

  5. centos7.4 搭建zabbix-server 3.4.5

    监控对服务器的重要性来说已经不需要我来一一赘述了,在众多的监控工具之中选择使用zabbix的原因是觉得它功能强大,可以引用的模板有很多,而且图形化做的草鸡棒. 废话就不多了,直接吃鸡. 本次搭建全部采 ...

  6. 云服务器 远程mysql 无法连接

    问题:mysql不管是用免安装版的,还是用直接安装的,还是用phpStudy直接发布的mysql服务.都只能用localhost登录,不能用服务器的ip进行远程访问 遇到这个问题.按照网上大家介绍的方 ...

  7. Maven适配多种运行环境的打包方案

    项目从开发到部署会历经多个运行环境,如开发环境.测试环境和生产环境,不同环境中项目的配置文件通常也会不同,典型的如数据库连接配置.我们当然不希望每次部署打包前都去修改配置文件以适配环境,利用Maven ...

  8. Generator函数语法解析

    转载请注明出处: Generator函数语法解析 Generator函数是ES6提供的一种异步编程解决方案,语法与传统函数完全不同.以下会介绍一下Generator函数. 写下这篇文章的目的其实很简单 ...

  9. HashMap 源码详细分析(JDK1.8)

    一.概述 本篇文章我们来聊聊大家日常开发中常用的一个集合类 - HashMap.HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现.HashMap 允许 null 键和 null 值, ...

  10. HDU 1013 Digital Roots【字符串,水】

    Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...