python字典常用操作方法,python字典的常用操作方法

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋友可以参考下。

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

1.创建字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

技巧:

字典中包含列表:dict={'yangrong':['','IT'],"xiaohei":['','dota']}

字典中包含字典:dict={'yangrong':{"age":"","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}

注意:

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

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

2.访问字典里的值

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

>>> print(dict['ob1'])

computer

如果用字典里没有的键访问数据,会输出错误如下:

>>> print(dict['ob4'])

Traceback (most recent call last):

File "", line 1, in

print(dict['ob4'])

访问所有值

>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

>>> for key in dict1:

print(key,dict1[key])

ob3 printer

ob2 mouse

ob1 computer

3.修改字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

>>> dict['ob1']='book'

>>> print(dict)

{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'book'}

4.删除字典

能删单一的元素 >>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

>>> del dict['ob1']

>>> print(dict)

{'ob3': 'printer', 'ob2': 'mouse'}

删除字典中所有元素

>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}

>>> dict1.clear()

>>> print(dict1)

{}

删除整个字典,删除后访问字典会抛出异常。 >>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

>>> del dict1

>>> print(dict1)

Traceback (most recent call last):

File "", line 1, in

print(dict1)

NameError: name 'dict1' is not defined

5.更新字典

update()方法可以用来将一个字典的内容添加到另外一个字典中:

>>> dict1 = {'ob1':'computer', 'ob2':'mouse'}

>>> dict2={'ob3':'printer'}

>>> dict1.update(dict2)

>>> print(dict1)

{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'computer'}

6.映射类型相关的函数

>>> dict(x=1, y=2)

{'y': 2, 'x': 1}

>>> dict8 = dict(x=1, y=2)

>>> dict8

{'y': 2, 'x': 1}

>>> dict9 = dict(**dict8)

>>> dict9

{'y': 2, 'x': 1}

dict9 = dict8.copy()

7.字典键的特性

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

两个重要的点需要记住:

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

>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}

>>> print(dict1)

{'ob2': 'mouse', 'ob1': 'printer'}

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

>>> dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}

Traceback (most recent call last):

File "", line 1, in

dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}

TypeError: unhashable type: 'list'

8.字典内置函数&方法

Python字典包含了以下内置函数:1、cmp(dict1, dict2):比较两个字典元素。(python3后不可用)

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

3、str(dict):输出字典可打印的字符串。

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

Python字典包含了以下内置方法:1、radiansdict.clear():删除字典内所有元素

2、radiansdict.copy():返回一个字典的浅复制

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

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

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

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

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

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

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

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

python列表的常用操作方法

主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...

基于python的selenium常用操作方法(2)

9 多表单切换 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这 ...

基于python的selenium常用操作方法(1)

1 selenium定位方法    Selenium提供了8种定位方式. ·         id ·         name ·         class name ·         tag ...

python字典的常用操作,数据类型划分

一.数据类型划分之一 可分为:可变数据类型,不可变数据类型 不可变数据类型:元祖,布尔值(Bool),数值 int ,字符串 str               可哈希 可变数据类型:  list,d ...

python 封装时间常用操作方法-time,datetime

封装脚本: #encoding=utf-8import timefrom datetime import timedelta,date def date_time_chinese():    prin ...

python字典的常用操作

# dic={[1,2,3]:'123'} #可变类型不能当做字典的key,value可以使用任意类型 # dic={(2,3,4):'123'} # print (dic[(2,3,4)]) #元组 ...

day2_python之数据类型常用操作方法

一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 如何确定一种数据类型是可变的还是不可变的: 根据可变数据类型与不 ...

python 字典操作方法详解

字典是一种通过名字或者关键字引用的得数据结构,key 类型需要时被哈希,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 注意,浮点数比较很不精确, ...

Python文件常用操作方法

Python文件常用操作方法 一.对File对象常用操作方法: file= open(file, mode='r', buffering=-1, encoding=None, errors=None, ...

随机推荐

overridePendingTransition简介

1 Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画. 它包括两个部分:一部分是第一个activity退出时的动画:另外一部分时第二个activity进入时 ...

struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)

为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...

JAVA课程设计-教学论坛系统

团队课程设计博客 1. 团队名称:教学论坛系统设计团队 团队成员介绍: 郑佳亮(组长):201721123022,查看帖子,点赞,参与度,搜索,管理员删帖的后端,点赞,参与度前端 李于程(组员):20 ...

can总线的示波器检测方法

stm32的can总线是在APB1上的,stm32f10x的主频是72Mhz,can外设时钟是36Mhz,stm32f2xx的主频是120Mhz,can外设时钟是30Mhz... STM32 APB1 ...

jupyter修改根目录

找到jupyter的快捷方式,然后修改目标: 首先在快捷方式上右键单击,选择属性: 然后将目标那里替换自己想要的目录: 网上有的教程说保留%USERPROFILE%,其实这是受系统对路径解析的影响的. ...

Scala_关键字

关键字 Lazy Scala中用lazy定义的变量叫惰性变量,会实现延迟加载:惰性变量只能是不可变变量,而且只有在调用惰性变量时,才会去实列化这个变量 object ScalaLazyDemo1{   ...

使用 Redis

Redis(https://redis.io/),既不像 SQLite 以表的形式存储数据,也不像 MongoDB 允许以嵌套结构存储和查询,它是一种内存数据库结构,即将数据缓存在内存中.它将键—值( ...

js实现数组内数据的上移和下移

var swapItems = function(arr, index1, index2){ arr[index1] = arr.splice(index2,1,arr[index1])[0] ret ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值