参照http://www.runoob.com/python3/python3-dictionary.html

  • 字典

字典是另一种可变容器模型,且可以存储任意类型对象。

dict1 = {key1:value1,key2:value2}

注意:键key是唯一的,但是值不用,值可以是字符串、数字或元组。

dict2 = {'a':1,'b':'12'}

  1. dict3 = {'Name':'jack','Age':'22','Class':'first'}
    print("dict3['Name']: ",dict3['Name']) #访问字典中的值
    print("dict3['Age']: ",dict3['Age'])
  2.  
  3. dict3['Age'] = 20
    dict3['School'] = 'python' #修改字典
    print("dict3['Age']: ",dict3['Age'] )
    print("dict3['School'] ",dict3['School'])
  4.  
  5. del dict3['Name'] #删除字典中的元素
    print(dict3)
    dict3.clear()
    # del dict3 删除字典
    print(dict3)
  6.  
  7. 字典值的特性:
    不允许一个键出现两次;
    键必须不可变,可以用数字、字符串或元组,但是列表不行。
  • 字典内置函数&方法

内置方法如下:

  1. #radiansdict.clear() 删除字典内所有元素
    dict4 = {'name':'bob','age':19}
    print(dict4)
    dict4.clear()
    print(dict4)
    print(len(dict4))
    #radiansdict.copy() 返回一个字典的浅复制
    dict5 = {'name':'bob','age':19,'class':'two'}
    dict6 = dict5.copy()
    print('新复制的字典是: ',dict6)
    '''
    #radiansdict.fromkeys()
    # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    seq -- 字典键值列表。
    value -- 可选参数, 设置键序列(seq)的值。
    '''
    dict5 = {'name':'bob','age':19,'class':'two'}
    dict7 = dict5.fromkeys(dict5)
    print('新的字典是: %s' % str(dict7))
    dict8 = dict5.fromkeys(dict5,10)
    print('新的字典是: %s' % str(dict8))
  2.  
  3. # radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
    dict5 = {'name':'bob','age':19,'class':'two'}
    print('age的值是: %s' % dict5.get('age'))
    print('sex的值是: %s' % dict5.get('sex','na'))
    # key in dict 如果键在字典dict里返回true,否则返回false
  1. dict5 = {'name':'bob','age':19,'class':'two'}
    if 'age' in dict5:
    print('age键存在')
    else :
    print('age键不存在')
    if 'sex' in dict5:
    print('sex键存在')
    else :
    print('sex键不存在')
    # not in 同理可知
  2. # radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组
    print("value : %s" % dict5.items())
  3. # radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表
    dict5.keys()
    print(list(dict5.keys()))
  4. '''
    radiansdict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    key -- 查找的键值。
    default -- 键不存在时,设置的默认键值。
  5. '''
    print("age键的值是 :%s" % dict5.setdefault('age',None))
    print("sex键的值是 : %s" % dict5.setdefault('sex',None))
  6. print("新字典是: ", dict5)
  1.  
  2. # radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里
    dict5 = {'name':'bob','age':19,'class':'two'}
    dict7 = {'sex':'male'}
    dict5.update(dict7)
    print("更新字典dict5: ", dict5)
  3.  
  4. # radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表
    print("字典所有值是: ", list(dict5.values()))
  5.  
  6. # pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    dict5 = {'name':'bob','age':19,'class':'two'}
    pop_obj = dict5.pop('name')
    print(pop_obj)
  7.  
  8. # popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。
    dict5 = {'name':'bob','age':19,'class':'two'}
    pop_obj = dict5.popitem()
    print(pop_obj)
    print(dict5)
  1.  

python3学习笔记七(字典)的更多相关文章

  1. python学习笔记七——字典

    4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...

  2. python3.4学习笔记(七) 学习网站博客推荐

    python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...

  3. Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

    Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None,  ...

  4. (转)Qt Model/View 学习笔记 (七)——Delegate类

    Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...

  5. Python3学习笔记 - 准备环境

    前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  7. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  8. python3学习笔记(7)_listComprehensions-列表生成式

    #python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...

  9. python3学习笔记(6)_iteration

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...

随机推荐

  1. JAVA多线程 总结

    1. Thread 和 Runnable java.lang.Thread 类的实例就是一个线程但是它需要调用java.lang.Runnable接口来执行,由于线程类本身就是调用的Runnable接 ...

  2. input date

    https://stackoverflow.com/questions/17954966/how-to-get-rid-of-x-and-up-down-arrow-elements-of-a-inp ...

  3. 20175227张雪莹 2018-2019-2 《Java程序设计》第五周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 第六章接口与实现 接口 接口体中所有的常量访问权限一定是public和static(可 ...

  4. 【转载】如何将本地文件上传到github托管

    转自:http://www.cnblogs.com/babywin/p/6073124.html 清楚明白.  

  5. 32 C++常见错误集锦

    1 下列程序中,K的值为:6 enum { a,b=5,c,d=4,e }k; K=c; 分析:enum中,首元素不赋值的话,默认为0:后一个元素不赋值的话比前一个元素大1. 2  程序运行正常. # ...

  6. Discuz!安装搭建

    Discuz!介绍 Discuz!是一款由php语言开发的论坛源代码包,运行在lamp平之上或者lnmp之上,点击此处打开官方网站 环境介绍 本次安装采用最简配置,全部用yum安装,php采用模块方式 ...

  7. MegaCli 简易使用介绍

    查看帮助 MegaCli64 -h 适配卡配置 查看RAID控制器的数量 MegaCli64 -adpCount 查看所有raid卡详细信息 MegaCli64 -AdpAllInfo -aALL 查 ...

  8. phython安装

    点击   https://www.python.org/downloads/ 下载合适的Python版本 下载获取到:python-x.x.x.msi安装包,我们双击python-x.x.x.msi即 ...

  9. Problem F: 平面上的点——Point类 (VI)

    Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...

  10. js实现上拉加载思路整理

    1.整体模拟滚动 监听touchmove事件,比较 scrollTop 和 $scroller.scrollHeight() - $container.height(). 缺点:滑动不流畅, tran ...