作者: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. ubuntu中安装ftp服务器

    1. 实验环境 ubuntu14.04 2.vsftpd介绍 vsftpd 是“very secure FTP daemon”的缩写,是一款在Linux发行版中最受推崇的FTP服务器程序,安全性是它的 ...

  2. iOS在类内部怎么访问实例变量比较好?

    OC在类文件的内部访问实例变量,有直接访问和使用getter/setter方法访问两种方式,它们的区别有: 1.直接访问不经过OC的方法分发(method dispatch),所以访问速度比较快,在这 ...

  3. Python 基础之函数、深浅copy,set及练习

    三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作. 语法格式: X if C else Y 有了三元表达式 ...

  4. [js插件开发教程]一步步开发一个可以定制配置的隔行变色小插件

    隔行变色功能,不用js,直接用css伪类就可以做,这个实例可以作为js插件开发很好的入门级实例.本文实现的隔行变色包括以下功能: 1,支持2种常用结构共存( div元素 和 表格类型 ) 2,一个页面 ...

  5. c# Linq操作XML,查找节点数据

    /*查找XML*/ var filePath = Server.MapPath("~/xml/sample.xml"); XDocument doc = XDocument.Loa ...

  6. codesmith连接Mysql提示“找不到请求的 .Net Framework Data Provider。可能没有安装。"

    1,首先需要将MySql.Data.dll复制到codesmith安装目录下bin文件夹下,注意dll的版本 2,其次因为codesmith7采用的是.net4.0的配置文件,(64位系统)找到C:\ ...

  7. sqlserver游标使用和循环

    /*** 游标的使用 讲了这个多游标的优点,现在我们就亲自来揭开游标的神秘的面纱. 使用游标的顺序: 声名游标.打开游标.读取数据.关闭游标.删除游标. 1.3.1声明游标 最简单游标声明:DECLA ...

  8. sql 时间格式

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  9. redis性能调优笔记(can not get Resource from jedis pool和jedis connect time out)

    对这段时间redis性能调优做一个记录. 1.单进程单线程 redis是单进程单线程实现的,如果你没有特殊的配置,redis内部默认是FIFO排队,即你对redis的访问都是要在redis进行排队,先 ...

  10. 使用beanstalkd实现定制化持续集成过程中pipeline

    持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中, ...