本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!

  • 字典
    字典的元素是由一对对键值对组成,每一对之间用逗号隔开,将所有的键值对用花括号括起来就构成了字典。它是无序的,键和值之间用冒号隔开。
    语法格式:dic_name={key:value,key:value,key:value}
    简单来说:
      1.类似于json,也就是key-value键值对
      2.不允许同一个键值出现两次,所以一般对字典的操作都是对键进行操作。
      3.键必须不可变,所以可以用数字,字符串,元组充当,而不能用列表
    例如:

     dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典

    1.字典的基础操作
      
      1)可以增加、删除、修改、访问字典中的元素。同样也可以求字典的长度。
    例子:

     dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
    print dic #打印整个字典
    print dic["key2"] #根据key找value del dic['key1'] #根据key删除元素(通过键删除一个键值对)
    print dic dic['key4']="value4" #可以直接添加一个原字典里没有的元素(key不存在就行)
    print dic dic["key2"]=45678 #修改字典中的某值
    print dic #打印整个字典 print len(dic) #字典的长度

    输出:

     {'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
    value2
    {'key3': 'value3', 'key2': 'value2'}
    {'key3': 'value3', 'key2': 'value2', 'key4': 'value4'}
    {'key3': 'value3', 'key2': 45678, 'key4': 'value4'}
    3

      2)也可以通过字典的in运算对字典进行遍历(其实是用的for循环),也可以用来判断某个键是否在字典中。

    例子:

     dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
    for key in dic:
    print key,dic[key] #遍历字典并输出 print 'key1' in dic #判断键值为key1是否存在于字典中
    print 'key5' in dic

    输出:

     key3 value3
    key2 value2
    key1 value1
    True
    False

    2.字典的相关函数

      1)字典复制copy函数:字典的copy方法可以新建一字典与拷贝对象里的数据项一样。
    例子:

     dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
    dic1 = dic.copy() #字典复制
    print dic
    print dic1
    del dic1['key3'] #dic1是dic的一个副本,对dic1进行操作不影响dic
    print dic
    print dic1

    输出:

     {'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
    {'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
    {'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
    {'key2': 'value2', 'key1': 'value1'}

      2)字典的get函数和update函数:dic_name.get(key_name)函数等价于dic_name[key_name]用来获取某键对应的值。update(key_value)函数用来更新字典里对应Key的值,如果要更新的key在字典里不存在,则update就向字典里增加数据。
    例子:

     dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
    print dic
    print dic.get('key1') #相当于dic['key1']
    dic.update({'key1':'value8'}) #更新key1的值
    print dic
    dic.update({'key5':'value9'}) #增加key5
    print dic

    输出:

     {'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
    value1
    {'key3': 'value3', 'key2': 'value2', 'key1': 'value8'}
    {'key3': 'value3', 'key2': 'value2', 'key1': 'value8', 'key5': 'value9'}

      3)字典里的keys()、values()、items()函数:他们返回的都是一个列表。keys()获取字典的所有Key,values()获取字典的所有value,items()获取字典的key,value值。
    例子:

     dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
    print dic
    print dic.keys() #获取所有的Key
    print dic.values() #获取所有的value
    print dic.items() #获取所有的key,value

    输出:

     {'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
    ['key3', 'key2', 'key1']
    ['value3', 'value2', 'value1']
    [('key3', 'value3'), ('key2', 'value2'), ('key1', 'value1')]

      4)字典dict()函数:创建字典的函数
    例子:

     d0 = dict() #创建空字典
    print d0 d1 = dict(a='',b=456) #通过赋值创建字典 ,key不能加引号,value如果是字符串就要加引号,是数字可以不加
    print d1 key = range(1,3)
    value = ['john','Tom','Jack']
    d2 = dict(zip(key,value)) #通过一对列表创建字典
    print d2

    输出:

     {}
    {'a': '', 'b': 456}
    {1: 'john', 2: 'Tom'}

      4)字典的pop()、popitem()和clear()函数:pop()函数用于通过key来获取其value值并从字典里删除该数据项。popitem()函数随机移除一个数据项并返回移除的数据项(元组形式返回)。clear()函数用于清除字典数据项。
    例子:

     dic={"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"} #定义字典
    print dic print dic.pop('key2') #删除key2并返回Key2对应的value值
    print dic
    print dic.popitem() #随机删除一对数据项,并以元组形式返回该数据项
    print dic dic.clear() #清空字典的条目
    print dic

    输出:

     {'key3': 'value3', 'key2': 'value2', 'key1': 'value1', 'key5': 'value5', 'key4': 'value4'}
    value2
    {'key3': 'value3', 'key1': 'value1', 'key5': 'value5', 'key4': 'value4'}
    ('key3', 'value3')
    {'key1': 'value1', 'key5': 'value5', 'key4': 'value4'}
    {}

      字典还有很多函数,这里只是冰山一角,其它的可以查文档哦~

Python基础笔记系列六:字典的更多相关文章

  1. Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...

  2. Python基础笔记系列一:基本工具与表达式

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 工具基础(Windows系统下)传送门:Python基础笔记系列四:工具的 ...

  3. Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...

  4. Python基础笔记系列三:list列表

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...

  5. Python基础笔记系列十四:python无缝调用c程序

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...

  6. Python基础笔记系列十三:socket网络编程

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!使用python编写一个简易的服务端程序和客户端程序,启动服务端和客户端(监 ...

  7. Python基础笔记系列十二:requests模块的简单应用

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...

  8. Python基础笔记系列十:模块

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...

  9. Python基础笔记系列八:字符串的运算和相关函数

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字符串的运算1.字符串的加法和乘法 python中不但支持字符串相加,还支 ...

随机推荐

  1. 下载安装配置与使用MySQL-5.7.12-winx64.zip

    第一步:下载安装包 下载 地址:http://www.mysql.com/ 第二步:解压下载包 下载好后解压文件,把内容解压到想要的位置,本例解压到“D:\Program Files\mysql-5. ...

  2. nvm-windows 手动安装 nvm use 无效 'node' 不是内部或外部命令,也不是可运行的程序

    按照这两位前辈的教程,安装了nvm-windows. http://www.cnblogs.com/yesyes/p/7403184.html http://blog.csdn.net/jingsi1 ...

  3. ES6入门概览二--数组

    一 数组 1. Array.from() 将两类对象转为真的数组 : 类似数组的对象(伪数组,如arguments.document.getElementsByTagNames等)和可遍历对象(包括E ...

  4. 2 CDuiString的bug

    重温了一下 Effective C++,发现这就是条款24所指出的问题,看来读书百遍不如写代码一遍啊 在Notify处理消息时会有很多if语句,我通常喜欢把常量放在双等号前面,变量放在后面,比如:   ...

  5. 翻页bug 在接口文档中应规范参数的取值区间

    <?php$a=array("red","green","blue","yellow","brown&q ...

  6. plotly简单绘制柱状图

    代码: import plotly.offline as pltoff import plotly.graph_objs as go def bar_charts(name="bar_cha ...

  7. Flask(1)- 主流web框架、初识flask

    一.Python 现阶段三大主流Web框架 Django.Tornado.Flask 对比 Django 主要特点是大而全,集成了很多组件(例如Models.Admin.Form等等), 不管你用得到 ...

  8. Codeforces Round #245 (Div. 1)——Xor-tree

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012476429/article/details/25607945 题目链接 题意: 给一棵树n个 ...

  9. Redis持久化方式RDB和AOF

    Redis 持久化 RDB(快照) 优点 rdb是可进行压缩的二进制文件,表示Redis在某一个时间点的数据快照.非常使用与备份,灾难恢复等场景.比如使用定时任务执行bgsave并备份rdb到serv ...

  10. matlab循环保存dat文件

    将数据保存为dat文件 这里有两种方法,第一种是: save filename dataname; 这种方法书写简单,但是功能也很简单.这里的filename就是死的filenam,即filename ...