作者:NiceCui

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

Python学习二:词典基础详解

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

一:介绍

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

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

二:词典剖析

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

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

 1 #!/usr/bin/python
 2 #coding:utf-8
 3 '''
 4 Created on 2017-11-19
 5 @author: NiceCui
 6 '''
 7
 8 example_dict = {"a":1,"b":2,"c":3}
 9
10 print(type(example_dict)) #输出 <type 'dict'>
11
12 print(example_dict["a"])  #输出 1
13
14 print(example_dict["b"])  #输出 2
15
16 print(example_dict["c"])  #输出 3

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

 1 #!/usr/bin/python
 2 #coding:utf-8
 3 '''
 4 Created on 2017-11-19
 5 @author: NiceCui
 6 '''
 7
 8 example_dict = {"a":1,"b":2,"c":3}
 9
10 example_dict["a"] = 10 #修改 键 "a" 的值为 10
11
12 example_dict["b"] = 20 #修改 键 "b" 的值为 20
13
14 example_dict["d"] = 4  #增加 键是 "d" 值是 4
15
16 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) #输出 {}

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

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

1 #!/usr/bin/python
2 #coding:utf-8
3 '''
4 Created on 2017-11-19
5 @author: NiceCui
6 '''
7
8
9 example_dict ={"premium":0.2,"tax":0.15}

四:总结一下

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

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

转载于:https://www.cnblogs.com/NiceCui/p/7862377.html

Python学习二:词典基础详解相关推荐

  1. Python 学习 正则re解析详解

    一.学习正则的目的 应用场景举例: ① 提取xml文件里的信息 有些xml文件应用编辑器的一些读取库可能无法实现效果,但是用正则的话基本上能解决绝大多数参数匹配问题.如以下提取头条等app的user_ ...

  2. python类和对象基础详解

    类和对象 1 面向对象的思想 面向过程:面向处理理,更多的是从计算机⻆角度思考,注重计算每⼀一个步骤,程序更 像是⼀一本cpu操作⼿手册. 面向对象:以日常生活的角度思考问题的解决,更接近人的思维方式 ...

  3. Python学习笔记:Import详解2

    目录 目录 一 module 二 package 一模块 一 module 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".&qu ...

  4. React学习二(组件详解)

    文章目录 一.React数据流 二.组件的特性 1.属性(props) (1)React Props默认值与标签属性限制 (2)应用-React组件切分与提取 2.状态(state) (1)state ...

  5. python学习:break用法详解

    在执行while循环或者for循环时,只要循环条件满足,程序会一直执行循环体.但在某些场景,我们希望在循环结束前就强制结束循环. Python中有两种强制结束循环的方法: 1.continue语句:跳 ...

  6. Python基础学习之 os 模块详解

    Python基础学习之 os 模块详解 文章目录 Python基础学习之 os 模块详解 1. 路径操作 1.1 os.chdir(),切换当前工作目录: 1.2 os.getcwd(),返回工作目录 ...

  7. Python str / bytes / unicode 区别详解 - Python零基础入门教程

    目录 一.前言 二.Python str / bytes / unicode 区别 1.Python2.x 版本中 str / bytes / unicode 区别 2.Python3.x 版本中 s ...

  8. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  9. 【强化学习】Sarsa算法详解以及用于二维空间探索【Python实现】

    Sarsa算法 Sarsa算法,是基于Q-Learning算法.改动其实很小. 本文工作基于之前的Q-Learning的项目,如果有疑问可以看下面两个问题: [强化学习]Q-Learning算法详解以 ...

最新文章

  1. MyEclipse2017:MyEclipse2017软件破解图文教程(解决MyEclipse软件因试用期过期而无法再次使用的问题)
  2. Linux常用命令 积累
  3. 教你3行代码坑崩系统(哈哈哈哈)
  4. python计算期望值_机器学习:计算方差时为何除以n-1
  5. java程序linux自己更新自己,Linux下升级JAVA的一个小方法
  6. linux 本地端口关,Linux查看端口使用状态、关闭端口方法
  7. base64与base64url编码
  8. PE系统-微PE工具箱V2.1 - 有情怀的PE - PE中的战斗鸡无广告VIP精品
  9. 在pycharm中查看opencv版本
  10. springboot+pagehelper踩坑,PageHelper.startPage没有生效问题
  11. 基于单片机的单行道红绿灯仿真
  12. 专升本高数——第八章 多元函数积分学【学习笔记】
  13. 我的2013----默默的积累
  14. [转载]Eclipse照亮Java众生
  15. UnityShader案例篇—旋转、平移和缩放
  16. ECDH_SECP256R1 + X9.63 KDF-SHA256
  17. jQuery添加单选多选题的代码
  18. 牛掰!SSH端口嗅探方法及其防御技术
  19. Python ABC(抽象基类)
  20. 图象关于y轴对称是什么意思_函数图象关于y轴对称是什么函数

热门文章

  1. 软件测试面试技巧|项目常识篇
  2. 做好前端的话HTML和CSS基础必须夯实!
  3. 入行Web前端的学习方法有哪些?
  4. 【C语言】在线OJ题 BC122-BC139-牛客网编程初学者入门训练
  5. python类方法是什么_python中什么是类方法
  6. 【520有奖征文】 老同学聚会,20年IT行业从业感悟
  7. C语言小知识---为什么要使用指针
  8. NYOJ-阶乘之和(贪心)
  9. CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
  10. Spring MVC提供http接口供下载文件