http://blog.csdn.net/moodytong/article/details/7647684
在元组和列表中,都是通过编号进行元素的访问,但有的时候我们按名字进行数据甚至数据结构的访问,在c++中有map的概念,也就是映射,在python中也提供了内置的映射类型--字典。映射其实就是一组key和value以及之间的映射函数,其特点是:key的唯一性、key与value的一对多的映射。

1.字典的创建

字典的基本形态dic={key1:value1, key2:value2...}
创建方式1:直接型。
dict1={}  
dict2={‘name’:'earth','port':'80'}
创建方式2:使用工厂方法dict,通过其他映射(例如字典)或者(键,值)这样的序列对建立
items=[('name','earth'),('port','80')]
dict2=dict(items)
dict1=dict((['name','earth'],['port','80']))
创建方式3:使用内建方法fromkeys()创建’默认‘字典,字典中元素具有相同的value(如果没有给出,默认为none)
dict1={}.fromkeys(('x','y'),-1)
#dict={'x':-1,'y':-1}
dict2={}.fromkeys(('x','y'))
#dict2={'x':None, 'y':None}
2.访问字典中的值
最常用和基本的莫过于利用key访问value了
a.通过key访问value之get方法
dict1.get('name')#也可以直接是dictionary['key1'],但是当key1不存在其中时,会报错;此时用get则返回None
b.随机访问其中键值对
字典中是无序的,利用popitem方法是随机弹出一个键值对
c.返回字典所有值的列表
方法values
3.访问字典中的key
a.检查是否含有key1
dictionary.has_key(key1) 
key1 in dictionarty
key1 not dictionary
b.返回字典中键的列表
dictionary.keys()
4.访问键值对
a.遍历方式
for r in dicitonary  #r是dictionary中的键值对
b.修改(更新)或添加
dictionary[key1]=value1
5.删除
a.按key删除
del dictionary[key1]
b.删除并返回
dictionary.pop(key1)
c.删除所有项
dictionary.clear()
del dictionary
6.排序
sorted(dic.iteritems(), key=lambda d:d[1], reverse=False)
说明:对字典dic中的元素按照d[1](d[1]是value,d[0]是key,和d没关系,可以改为a什么的)进行升序排序,通过设置reverse的True或False可以进行逆序,并返回排序后的字典(该排序后的字典由元组组成,其形式为[(key1,value1),(key2,value2),...],且原字典保持不变)
7.其他
len(dictionary) #返回字典项个数
dictionary.item()
dictionary.iteritems()
方法名字 操作
dict.clear() 删除字典中所有元素
dict.copy() 返回字典(浅复制)的一个副本
dict.fromkeysc(seq,val=None) 创建并返回一个新字典,以seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为None)
dict.get(key,default=None) 对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)
dict.has_key(key) 如果键(key)在字典中存在,返回True,否则返回False. 在Python2.2版本引入in 和not in 后,此方法几乎已废弃不用了,但仍提供一个 可工作的接口。
dict.items() 返回一个包含字典中(键, 值)对元组的列表
dict.keys() 返回一个包含字典中键的列表
dict.values() 返回一个包含字典中所有值的列表
dict.iter() 方法iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。
dict.pop(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。

转载于:https://www.cnblogs.com/kungfupanda/p/4838889.html

Python学习之字典详解相关推荐

  1. python流程控制语句-python学习 流程控制语句详解

    ###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flase)判断程序的 ...

  2. python学习笔记 正则表达式 详解2

    python学习笔记 正则表达式 详解 行定位符 行定位符就是用来描述子串的边界."^"表示行的开始:"$"表示行的结尾 ^tm:匹配以子串tm的开始位置是行头 ...

  3. Python元组与字典详解

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup ...

  4. python学习--for循环详解

    For 循环 一.使用for循环实现简单功能 ''' 乘法表 1--9乘法表 for循环实现数字遍历 ''' for i in range(1,10): # 行中for s in range(1,i+ ...

  5. 字典学习算法K-SVD详解

    字典学习算法K-SVD详解 在博客见到一个大牛写的,很清楚!记得点赞哈哈哈! 转载:https://www.cnblogs.com/endlesscoding/p/10090866.html

  6. python爬虫入门实例-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 要求是把你所在城市过去一年的历史数据爬出来. 分析网站 我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有 ...

  7. python编程入门与案例详解-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬 ...

  8. Python Turtle 海龟绘图详解官方文档中文版

    Python Turtle 海龟绘图详解 (官方文档中文版)-安徽省太湖中学陈晓中整理 概述 海龟绘图很适合用来引导孩子学习编程. 最初来自于 Wally Feurzeig, Seymour Pape ...

  9. 信息学奥赛 python 教程_Python在信息学竞赛中的运用及Python的基本用法(详解)

    前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用 ...

  10. Python中self用法详解

    Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...

最新文章

  1. Master3 罗技 版本号的问题
  2. SpringMVC中跳转路径的问题
  3. elisa标准曲线怎么做_ELISA标准曲线制作
  4. 训练神经网络的一些技巧(包括激活和损失函数的选择、调参、过拟合等)
  5. 灵云智能语音识别平台 促进人工智能
  6. jvisualvm工具
  7. 自助友情链接交换网站php源码,友情链接交换系统
  8. pycharm隐藏窗口
  9. PHP云尚发卡,搭建个人发卡平台教程:云尚发卡平台搭建
  10. 锐捷无线AC基础命令
  11. Web Workers API
  12. 主板没有rgb接口怎么接灯_DIY只为玩游戏?主板配上RGB灯让机箱发光
  13. CV【2】:卷积与Conv2d
  14. python中列表中增加逗号,Python 实现在文件中的每一行添加一个逗号
  15. Java 同时替换 字符串中子串
  16. mysql 备份 恢复
  17. 简单易懂的Json的使用教程(jackson/fastjson)
  18. 重新理解 Go 实战
  19. python123判断火车票座位_[python篇]自己动手实现火车票中转查询
  20. 树洞外链2.1,一款基于七牛的外链分享平台

热门文章

  1. hdu 2844 Coins (多重背包+二进制优化)
  2. fiddler抓包后Jmeter实现登录接口
  3. iOS最好用的弹出框
  4. MapReduce运行流程分析
  5. 荒芜的周六-PHP之面向对象(三)
  6. Delphi窗体部分属性
  7. quartz2D简单使用
  8. Quartz.NET WinFrom 关闭程序后无法结束进程
  9. WinForm实现只打开一个窗口的代码
  10. BOM,DOM, JS,JQ