一、创建字典

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典

dict1 = { 'abc': 456}

dict2= { 'abc': 123, 98.6: 37 }

注意:

每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。

键必须独一无二,但值则不必。

值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

二、访问字典里的值

把相应的键放入熟悉的方括弧,如下实例:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};print "dict['Name']:", dict['Name'];print "dict['Age']:", dict['Age'];#以上实例输出结果:#dict['Name']: Zara#dict['Age']: 7

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};print "dict['Alice']:", dict['Alice'];

以上实例输出结果:

#KeyError: 'Alice'

三、修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8; #update existing entry

dict['School'] = "DPS School"; #Add new entry

print "dict['Age']:", dict['Age'];print "dict['School']:", dict['School'];

#以上实例输出结果:

#dict['Age']: 8#dict['School']: DPS School

四、删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令,如下实例:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};del dict['Name']; #删除键是'Name'的条目

dict.clear(); #清空词典所有条目

del dict ; #删除词典

print "dict['Age']:", dict['Age'];print "dict['School']:", dict['School'];#但这会引发一个异常,因为用del后字典不再存在:

dict['Age']:

五、字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};print "dict['Name']:", dict['Name'];#以上实例输出结果:#dict['Name']: Manni

2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行,如下实例:

dict = {['Name']: 'Zara', 'Age': 7};print "dict['Name']:", dict['Name'];#以上实例输出结果:#TypeError: list objects are unhashable

六、字典内置函数&方法

Python字典包含了以下内置函数:

cmp(dict1, dict2) #比较两个字典元素。

len(dict) #计算字典元素个数,即键的总数。

str(dict) #输出字典可打印的字符串表示。

type(variable) #返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

radiansdict.clear() #删除字典内所有元素

radiansdict.copy() #返回一个字典的浅复制

radiansdict.fromkeys() #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

radiansdict.get(key, default=None) #返回指定键的值,如果值不在字典中返回default值

radiansdict.has_key(key) #如果键在字典dict里返回true,否则返回false

radiansdict.items() #以列表返回可遍历的(键, 值) 元组数组

radiansdict.keys() #以列表返回一个字典所有的键

radiansdict.setdefault(key, default=None) #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default

radiansdict.update(dict2) #把字典dict2的键/值对更新到dict里

radiansdict.values() #以列表返回字典中的所有值

七、字典练习代码

addressBook = {} #定义通讯录

while 1:

temp=input('请输入指令代码:')if nottemp.isdigit():print("输入的指令错误,请按照提示输入")continueitem=int(temp)#转换为数字

if item==4:print("|---感谢使用通讯录程序---|")breakname= input("请输入联系人姓名:")if item==1:if name inaddressBook:print(name,':',addressBook[name])continue

else:print("该联系人不存在!")if item==2:if name inaddressBook:print("您输入的姓名在通讯录中已存在-->>",name,":",addressBook[name])

isEdit=input("是否修改联系人资料(Y/N):")if isEdit=='Y':

userphone= input("请输入联系人电话:")

addressBook[name]=userphoneprint("联系人修改成功")continue

else:continue

else:

userphone=input("请输入联系人电话:")

addressBook[name]=userphoneprint("联系人加入成功!")continue

if item==3:if name inaddressBook:deladdressBook[name]print("删除成功!")continue

else:print("联系人不存在")

方法一:

list1= ['k1','k2','k3']

list2= ['v1','v2','v3']

dic= dict(map(lambdax,y:[x,y],list1,list2))>>> print(dic)

{'k3': 'v3', 'k2': 'v2', 'k1': 'v1'}

方法二:>>>dict(zip(list1,list2))

{'k3': 'v3', 'k2': 'v2', 'k1': 'v1'}>>> l1=[1,2,3,4,5,6]>>> l2=[4,5,6,7,8,9]>>>

>>>

>>>

>>> {k:v for k,v inzip(l1,l2)}

{1: 4, 2: 5, 3: 6, 4: 7, 5: 8, 6: 9}>>>

>>>

>>> x = {1: 4, 2: 5, 3: 6, 4: 7, 5: 8, 6: 9}>>> {v:k for k,v in x.items()} #反过来 将字典中的v和k调换

{4: 1, 5: 2, 6: 3, 7: 4, 8: 5, 9: 6}

python输入文字、成为字典_Python 字典(Dictionary)操作详解相关推荐

  1. 用python处理excel的基本语法_Python对Excel操作详解

    Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl tco ...

  2. python 字典程序_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  3. dictionary在python中什么意思_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  4. python编程词典_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  5. python内置函数教程_Python内置函数详解

    此文参考python文档,然后结合自己的理解,写下来,一方面方便自己,让自己好好学习,顺便回忆回忆:另一方面,让喜欢的盆友也参考一下. 经查询,3.6版本总共有68个内置函数,主要分类如下: 数学运算 ...

  6. python re 筛选数据 求和_python求和函数sum()详解

    python求和函数 sum()详解 今天在学习的过程中,误用sum()函数,我又去查了查python sum()函数才恍然大悟. 我本来想算几个Int值相加的和,本以为很简单的事情,结果却很悲伤,例 ...

  7. python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业

    作者:Ben,著有<Python数据科学:技术详解与商业实践>.<用商业案例学R语言数据挖掘>.<胸有成竹-数据分析的SAS EG进阶>作者.2005年进入数据科学 ...

  8. python字符串处理编程实例_Python字符串处理实例详解

    干货大礼包!21天带你轻松学Python(文末领取更多福利) 点击查看课程视频地址 本课程来自于千锋教育在阿里云开发者社区学习中心上线课程<Python入门2020最新大课>,主讲人姜伟. ...

  9. 以python程序调用的系统_python 系统调用的实例详解

    python 系统调用的实例详解 本文将通过两种方法对python 系统调用进行讲解,包括python使用CreateProcess函数运行其他程序和ctypes模块的实例, 一 python使用Cr ...

最新文章

  1. SystemCenter2012SP1实践(27)VMM和HyperV的PowerShell
  2. 机器学习算法与Python实践之(一)k近邻(KNN)
  3. Java技术分享之函数式编程
  4. ITK:向二进制图像添加噪声
  5. Delphi RTC
  6. micropython是啥 知乎_嵌入式开发必备调试工具:Micro-Lab
  7. 基于.NET Standard的分布式自增ID算法--Snowflake
  8. stm32+lwip(四):网页服务器测试
  9. Ubuntu中使用freeradius配置RADIUS,并在RADIUS中配置LDAP 并实现AP认证
  10. 1119 九九乘法表的值(%-4d等 的含义)
  11. shell 的AWK
  12. linux安装时mbr转gpt分区表,免重装系统 手把手教你MBR转GPT分区表
  13. 江苏小高考计算机什么时候考,2021江苏小高考时间 什么时候考试
  14. 如何成为优秀的软件人才
  15. crt计算机显示器,crt显示器最高分辨率_crt显示器最高刷新率
  16. 使用Encoder-Decoder模型自动生成对联的思路
  17. json增加反斜杠 php_PHP在引号前面添加反斜杠(PHP去除反斜杠)
  18. Oracle Sqlplus命令登录的几种方式
  19. Java集合的接口和类层次结构图以及代码示例
  20. 华为 H3C 配置 Portal认证 mac-trigger快速认证 Mac无感知认证 Radius认证计费 对接 外部Portal认证计费系统 案例

热门文章

  1. centos加单个ip和批量添加
  2. 瀚思推出国内首个企业级大数据安全分析平台
  3. hadoop Federation搭建
  4. deltasql 1.5.5 发布,数据库模型版本控制
  5. 在res/xml中的文件
  6. SMT32如何进入sleep模式
  7. 一起谈.NET技术,Expression Blend中文教程 - 开篇
  8. C++类、函数、指针
  9. spring-cloud Finchley.SR2版本 升级微服务到springboot 2.0
  10. 对讲业务对讲过程中的几个状态