作者:NiceCui

  • 本文谢绝转载,如需转载需征得作者本人同意,谢谢。
  • 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html
  • 邮箱:moyi@moyibolg.com
  • 日期:2017-11-19

Python学习二:词典基础详解

(学习不要求多,小计划能学会体验到乐趣便可)

一:介绍

Python词典其实和java中的HashMap很像,都是通过哈希表实现的,都是键值对存贮方式,也就是说,词典是一个数组,而数组的索引是键经过哈希函数处理后得到的。其实大家在编程语言的学习当中会遇到很多类似的存储方式,例如缓存系统Memcached就是以键值对进行存储数据的,Redis中也有,所以说键值对存储方式在编程语言中应用广泛。

词典是一个可以容纳多个元素的容器,但是词典不是以位置作为索引的,词典允许使用自定义的方式来建立数据的索引。

二:词典剖析

词典可以包含多个元素,每个元素以都好分割;

词典的元素包含两部分:键(Key)和 值(Value),键是数据的索引,值是数据的本身,键和值是一一对应的。

 #!/usr/bin/python
#coding:utf-8
'''
Created on 2017-11-19
@author: NiceCui
''' example_dict = {"a":1,"b":2,"c":3} print(type(example_dict)) #输出 <type 'dict'> print(example_dict["a"]) #输出 1 print(example_dict["b"]) #输出 2 print(example_dict["c"]) #输出 3

三:在词典中修改或增加一个元素的值

 #!/usr/bin/python
#coding:utf-8
'''
Created on 2017-11-19
@author: NiceCui
''' example_dict = {"a":1,"b":2,"c":3} example_dict["a"] = 10 #修改 键 "a" 的值为 10 example_dict["b"] = 20 #修改 键 "b" 的值为 20 example_dict["d"] = 4 #增加 键是 "d" 值是 4 print(example_dict) #输出 :{'a': 10, 'c': 3, 'b': 20, 'd': 4}

构建一个新的空词典

#!/usr/bin/python
#coding:utf-8
'''
Created on 2017-11-19
@author: NiceCui
''' example_dict = {} #空词典 print(example_dict) #输出 {}

词典不具备序列的连续的连续的有序性,所以适于存储结构松散的一组数据。

比如首付比例和税率可以存在同一个词典中:

 #!/usr/bin/python
#coding:utf-8
'''
Created on 2017-11-19
@author: NiceCui
''' example_dict ={"premium":0.2,"tax":0.15}

四:总结一下

本次学习中内容不多,只学习了一个知识点,这样会让自己的学习更加放松,不必担心只是体量过大,让自己的内心充满压抑,本文中写python语言都是使用的eclipse中安装的python插件,安装使用教程:http://www.cnblogs.com/NiceCui/p/7858107.html

在词典的 例子中,以及大部分的应用场景中,我们都使用字符串来作为词典的键。但是其他类型的数据,如数组和布尔值,也可以作为词典的键值,简单学习,玩着学习,学着快乐。

最新文章

  1. WIM镜像添加多语言支持
  2. Linux系统下设置Tomcat自启动
  3. DMA-330(二)
  4. 【VNC】Ubuntu14.04LTS下安装VNC View
  5. 理解JavaScript原型式继承
  6. mysql复制表数据或表结构到新表中
  7. USB系列之九:基于ASPI的U盘驱动程序
  8. 怎样制作一个相似Tiny Wings的游戏 Cocos2d-x 2.1.4
  9. mysql 证明为什么用limit时,offset很大会影响性能
  10. 001-List,数组,Set,Map属性的映射
  11. linux shell set命令
  12. 6. Scala面向对象编程(基础部分)
  13. jquery 改变img的src
  14. Chromium(Chrome) Sandbox Details
  15. js-cookie和session
  16. Spark源码剖析 - SparkContext的初始化(九)_启动测量系统MetricsSystem
  17. Android Launcher分析和修改3——Launcher启动和初始化
  18. MySQL行级锁测试
  19. Android多线程操作sqlite(Sqlite解决database locked问题)
  20. Linux服务器ftp+httpd部署

热门文章

  1. 【JAVA零基础入门系列】Day8 Java的控制流程
  2. 错误:Cannot set property &#39;innerHTML&#39; of null
  3. 小白学Maven第二篇配置Ecilpse
  4. JVM性能调优,GC
  5. 史上最难的一道Java面试题 (分析篇)
  6. 【特效】hover效果之四线动画
  7. java学习笔记(一) 服务器的认识
  8. LeetCode 442. Find All Duplicates in an Array (在数组中找到所有的重复项)
  9. [IR] Concept Search and LDA
  10. 读取本地的json文件