作者: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

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

Python学习二:词典基础详解的更多相关文章

  1. Tomcat学习(二)------Tomcat原理详解及请求过程

    Tomcat: Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat ...

  2. Python学习笔记:函数详解(下)

    本文介绍:高阶函数,嵌套函数,以及由前面两个组成的装饰器 一.高阶函数:以下两种情况都是高阶函数   1.将函数名当成参数传递给另外一个函数(作用:不修改被传递函数源代码就可以添加新功能): impo ...

  3. jsp/servlet学习二之servlet详解

    Servlet API概览 Servlet API有一下四个java包: 1,javax.servlet,其中包含定义servlet和servlet容器之间契约的类和接口. 2,javax.servl ...

  4. Python学习一:序列基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7858473.html 邮箱:moyi@moyib ...

  5. Shell学习之Bash变量详解(二)

    Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这 ...

  6. 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记

    来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...

  7. Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

    [Android布局学习系列]   1.Android 布局学习之——Layout(布局)详解一   2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)   3.And ...

  8. Python包模块化调用方式详解

    Python包模块化调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一般来说,编程语言中,库.包.模块是同一种概念,是代码组织方式. Python中只有一种模块对象类型 ...

  9. Python调用windows下DLL详解

    Python调用windows下DLL详解 - ctypes库的使用 2014年09月05日 16:05:44 阅读数:6942 在python中某些时候需要C做效率上的补充,在实际应用中,需要做部分 ...

随机推荐

  1. KM算法的应用

    HDU2255 模板     难度x HDU2282 思维     难度XXx HDU3722 模板     难度X HDU3395 模版 HDU1533 最小值模型 难度x HDU2853 HDU3 ...

  2. HDU1421搬寝室(简单DP)

    当然,还可以加滚动数组优化. #include<cstdio> #include<cstdlib> #include<iostream> #include<m ...

  3. ZOJ2401 Zipper 双塔式 DP

    遇到双塔DP,写一下. flag是为了避免memset多次导致的时间浪费. #include<cstdio> #include<cstdlib> #include<ios ...

  4. 使用siege对web接口进行post方式的压力测试

    为了达到压力测试的效果,需要申请一台线上机器,并且安装压力测试的工具siege. 安装新版siege.资料说yum安装的版本2.70对于post方式支持的不好,验证后发现请求可以正常发过去,但是打开d ...

  5. J2EE走向成功路-01-Struts2 配置

    配置环境 1.  导入jar包,Struts2官网:http://struts.apache.org/ 2.  创建Action类  继承ActionSupport  (ActionSupport类是 ...

  6. python基于万象优图识别图片中的中文

    最近一直在研究光学字符识别,即OCR.最开始在谷爹那里了解到了开源的Tesseract,可以拿来识别简单的英文和数字.但是识别中文的准确率并不高. 然后从Tesseract到Tesseract.js, ...

  7. uva1629,Cake Slicing,记忆化搜索

    同上个题一样,代码相似度极高,或者说可以直接用一个模板吧 dp[i,j,p,q]表示一块长为j-i+1,宽为q-p+1,左上角在位置(i,j)上的蛋糕,dp[]表示当前状态下的最优值,然后对该块蛋糕枚 ...

  8. JUnit5 安装与使用

    虽然JUnit5 的测试版本早就出来了,但正式版直到几年9月份推出,目前最新版5.0.1.几乎所有的Java 开发人员都会使用JUnit 来做测试,但其实很多自动化测试人员也会使用Junit .目前, ...

  9. Mapper 动态代理方式

    Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法. Mapper接口开发 ...

  10. 浅试 Webview 一app 加载 H5小游戏

    整体架构: InventionActivity:实现UI的实例化,基本的按钮Activity之间跳转 GameActivity:实现UI的实例化,Webview的基本使用 MyProgressDial ...