1、存值

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. info_dic['job']='IT' #根据key来存值
  3. print(info_dic)
  4.  
  5. 输出结果:
  6. {'name': 'egon', 'age': 18, 'sex': 'male', 'job': 'IT'}

2、取值

  1. 1 info_dic={'name':'egon','age':18,'sex':'male'}
  2. 2 print(info_dic['name']) #根据Key来取值
  3. 3
  4. 4
  5. 5 输出结果:
  6. 6 egon
  7. #如果没有在字典中没有你要找的key则会报错
  8. info_dic={'name':'egon','age':18,'sex':'male'}
  9. print(info_dic['name11111111'])
  10.  
  11. #get找不到要找的key值不会报错,会返回默认值None
  12. get()
  13. info_dic={'name':'egon','age':18,'sex':'male'}
  14. print(info_dic.get('name11'))
  15. None

3、pop

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. print(info_dic.pop('name111',None)) #不是单纯的删除,可以看到返回的值,如果没key存在则返回值,没有存在则返回默认值None
  3.  
  4. 输出结果:
  5. None

4、popitem()

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. print(info_dic.popitem()) #默认从后往前的删除取值,但不是单纯的删除有返回值
  3. print(info_dic)
  4.  
  5. 输出结果:
  6. ('sex', 'male')
  7. {'name': 'egon', 'age': 18}

5、keys

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. print(info_dic.keys()) #取字典的所有key
  3.  
  4. 输出结果:
  5. dict_keys(['name', 'age', 'sex'])

6、values

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. print(info_dic.values()) #取字典的所有value值
  3.  
  4. 输出结果:
  5. dict_values(['egon', 18, 'male'])

7、键值对 items()

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. print(info_dic.items()) #键值对,取字典的键值对
  3.  
  4. 输出结果:
  5. dict_items([('name', 'egon'), ('age', 18), ('sex', 'male')])
  6.  
  7. 应用场景:

# print('========>')
# for k in info_dic.keys():
# print(k)

# for val in info_dic.values():
# print(val)

# for k,v in info_dic.items(): #k,v=('name', 'egon')
# print(k,v)

8、长度 len

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. print(len(info_dic))
  3.  
  4. 输出结果:
  5. 3

9、包含in

  1. #查看是否包含key、value、键值对有则返回True,没有则返回False
  2. info_dic={'name':'egon','age':18,'sex':'male'}
  3. print('name' in info_dic)
  4. print('name' in info_dic.keys())
  5. print('egon' in info_dic.values())
  6. print(('name','egon') in info_dic.items())
  7.  
  8. 输出结果:
  9. True
  10. True
  11. True
  12. True

10、updata

  1. info_dic={'name':'egon','age':18,'sex':'male'}
  2. info_dic.update({'a':1,'name':'Egon'}) #对字典进行更新没有则往后添加,有的话则更改value是否改变,改变了则更新
  3. print(info_dic)
  4.  
  5. 输出结果:
  6. {'name': 'Egon', 'age': 18, 'sex': 'male', 'a': 1}

11、

python全栈开发从入门到放弃之字典的应用的更多相关文章

  1. python全栈开发从入门到放弃之迭代器生成器

    1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable  可迭代的 可迭 ...

  2. python全栈开发从入门到放弃之socket网络编程基础

    网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...

  3. python全栈开发从入门到放弃之递归函数的调用

    1.递归效率低,需要在进入下一次递归时保留当前的状态,见51cto博客 解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自动但是python又没有尾递归,且对递归层级做了限制 必须有一个明确的 ...

  4. python全栈开发从入门到放弃之初识面向对象

    面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...

  5. python全栈开发从入门到放弃之面向对象的三大特性

    组合 class Course: def __init__(self,name,period,price): self.name = name self.period = period self.pr ...

  6. python全栈开发从入门到放弃之socket并发编程多进程

    1.1 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程 ...

  7. python全栈开发从入门到放弃之socket并发编程多线程

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...

  8. python全栈开发从入门到放弃之socket并发编程之协程

    一.为什么会有协程 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情 ...

  9. python全栈开发从入门到放弃之网络基础

    一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...

随机推荐

  1. windows7常用操作命令

    1.打开命令行 按住Windows键加R键,打开运行窗口 2.打开笔记本 运行窗口中输入:notepad,点击确定或回车,打开记事本工具 主要作用:浏览网页时,看到一些有用的话,那么你是怎么把它记录下 ...

  2. linux怎么发邮件

    邮箱配置: tail /etc/mail.rc #要写在一行 set from=gb17735517416@163.com   smtp=smtp.163.com  smtp-auth-user=gb ...

  3. MFC自绘框架窗口客户区

    利用MFC开发用户界面往往需要需要根据要求进行界面美化,界面的美化包括很多内容,比如说界面各功能模块空间布局,控件位置选择,各功能模块区域的字体.背景颜色选择.添加位图,标题栏.菜单栏.状态栏等的重绘 ...

  4. 关闭ReSharper中的[ Use 'var' ]提示(Disable C# “var” Recommendation in ReSharper)

    ReSharper,确实是个很不错的工具,代码如果写得不规范他会提示,而且可以根据自己公司的需求自定义代码规范. 默认设置的提示已经相当完美,但美中不足就是老提示你用var来代替所有类型. 按以下步骤 ...

  5. js 滚动页面

    $(‘html, body’).animate({ scrollTop: 0}, ‘slow’);

  6. 模式识别之Shape Context---利用Shape Context进行形状识别

     什么是Shape Context Shape Context是一个用于形状识别的,非常经典的特征(一串便于计算机处理的数字)提取方法,它由Serge Belongie和Jitendra Malik  ...

  7. ORACLE 10g RAC [ CSSCLNT][1]clsssInitNative: connect failed, rc 9

    "[ CSSCLNT][1]clsssInitNative: connect failed, rc 9“是Oracle RAC中经常遇到的问题,主要出现在安装过程和启动过程中.经常在$ORA ...

  8. centos 6.5 安装图形界面【转】

    最近想在centos 6.5上安装图形界面,在网上找到了方法.[原文链接] CentOS6相对于CentOS5的安装有了不少的进步,有不少默认的选项可以选择,如: Desktop :基本的桌面系统,包 ...

  9. Linux增加swap分区的方法

    在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swap分区2.用文件作为swap分区 (操作更简单,我更常用) 一.新建磁盘分区作为swap分区 1. # swapoff ...

  10. 涨姿势UWP源码——IsolatedStorage

    前一篇涨姿势UWP源码分析从数据源着手,解释了RSS feed的获取和解析,本篇则会就数据源的保存和读取进行举例. 和之前的Windows Runtime一样,UWP采用IsolatedStorage ...