python输入文字、成为字典_Python 字典(Dictionary)操作详解
一、创建字典
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:
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)操作详解相关推荐
- 用python处理excel的基本语法_Python对Excel操作详解
Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl tco ...
- python 字典程序_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- dictionary在python中什么意思_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- python编程词典_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- python内置函数教程_Python内置函数详解
此文参考python文档,然后结合自己的理解,写下来,一方面方便自己,让自己好好学习,顺便回忆回忆:另一方面,让喜欢的盆友也参考一下. 经查询,3.6版本总共有68个内置函数,主要分类如下: 数学运算 ...
- python re 筛选数据 求和_python求和函数sum()详解
python求和函数 sum()详解 今天在学习的过程中,误用sum()函数,我又去查了查python sum()函数才恍然大悟. 我本来想算几个Int值相加的和,本以为很简单的事情,结果却很悲伤,例 ...
- python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业
作者:Ben,著有<Python数据科学:技术详解与商业实践>.<用商业案例学R语言数据挖掘>.<胸有成竹-数据分析的SAS EG进阶>作者.2005年进入数据科学 ...
- python字符串处理编程实例_Python字符串处理实例详解
干货大礼包!21天带你轻松学Python(文末领取更多福利) 点击查看课程视频地址 本课程来自于千锋教育在阿里云开发者社区学习中心上线课程<Python入门2020最新大课>,主讲人姜伟. ...
- 以python程序调用的系统_python 系统调用的实例详解
python 系统调用的实例详解 本文将通过两种方法对python 系统调用进行讲解,包括python使用CreateProcess函数运行其他程序和ctypes模块的实例, 一 python使用Cr ...
最新文章
- SystemCenter2012SP1实践(27)VMM和HyperV的PowerShell
- 机器学习算法与Python实践之(一)k近邻(KNN)
- Java技术分享之函数式编程
- ITK:向二进制图像添加噪声
- Delphi RTC
- micropython是啥 知乎_嵌入式开发必备调试工具:Micro-Lab
- 基于.NET Standard的分布式自增ID算法--Snowflake
- stm32+lwip(四):网页服务器测试
- Ubuntu中使用freeradius配置RADIUS,并在RADIUS中配置LDAP 并实现AP认证
- 1119 九九乘法表的值(%-4d等 的含义)
- shell 的AWK
- linux安装时mbr转gpt分区表,免重装系统 手把手教你MBR转GPT分区表
- 江苏小高考计算机什么时候考,2021江苏小高考时间 什么时候考试
- 如何成为优秀的软件人才
- crt计算机显示器,crt显示器最高分辨率_crt显示器最高刷新率
- 使用Encoder-Decoder模型自动生成对联的思路
- json增加反斜杠 php_PHP在引号前面添加反斜杠(PHP去除反斜杠)
- Oracle Sqlplus命令登录的几种方式
- Java集合的接口和类层次结构图以及代码示例
- 华为 H3C 配置 Portal认证 mac-trigger快速认证 Mac无感知认证 Radius认证计费 对接 外部Portal认证计费系统 案例