Python 字典dict操作详解-Python字典的排序创建读取修改复制浅复制……

总结一下字典的基本用法。内容参看目录,个人认为还是比较详细的。

目录

1. 什么是字典

2.字典的创建

2.1 手动创建

2.2 使用内置函数dict()创建

3. 字典元素的读取

3.1下标方式读取Value

3.2 get()读取Value

3.3 keys()方法返回“键” 

3.4 values()方法返回“值”

3.5 items()方法返回“键-值”对

4. 字典元素的添加与修改

4.1 下标方式添加和修改

4.2 update()方法添加键值对 

 4.3 删除

5.判断键是否在字典中

6.有序字典 

7.字典的复制与浅复制

8. 字典的排序

8.1 根据“键Key”进行排序

8.2 根据“值Value”进行排序

8.3 根据items()进行排序

8.4 借助operator.itemgeter()


1. 什么是字典

字典是“键-值”对的无序可变序列,字典中的每个元素可以分为两部分,“键”和“值”。定义字典时,每个元素的“键”和“值”用冒号分隔,相邻元素之间用逗号分隔,所有元素放在一对大括号”{“和”}“中。字典中的“键”可以是Python中任意不可变数据,例如整数,实数,复数,字符串,元组等等,但不能使用列表、集合、字典作为字典的“键”,因为这些对象是可变的。另外,字典中的“键”不允许重复,而值是可以重复的。

注意:Python中字典的必须是一个具体的数,或者是一个不可变序列。例如:List是一个可变序列,提供了插入删除修改操作,而tuple属于不可变序列,没有append()、extend()和insert()这些可以对序列进行修改的函数。

2.字典的创建

2.1 手动创建

使用等号直接手动创建字典。

a_dict={'DXY':"19950819" , 'HJL':"19960424"}
print(a_dict)  #{'HJL': '19960424', 'DXY': '19950819'}
print(type(a_dict))  #<class 'dict'>  为字典类型

2.2 使用内置函数dict()创建

例如:

keys=['a','b','c','d']  
#不是直接把列表做"键",要进过zip处理,
values=[1,2,3,4]
dictionary=dict( zip(keys, values) )
#zip里面的元素是元组,返回zip对象,可以把zip对象转换为各种形式,包括列表或者字典
print(dictionary)   #{'d': 4, 'b': 2, 'a': 1, 'c': 3}
print( type(dictionary ))  #<class 'dict'>

或者:将 “'键'='值'”作为dict()的参数来创建字典。

a_dict=dict(name='DYX' ,  age=24)  #键=值对
print(a_dict)  #{'age': 24, 'name': 'DYX'}

还可以利用dict.fromkeys()方法,给定“键”序列,创建“值”为空的字典。

a_dict=dict.fromkeys( ['name','age','sex'] )
print(a_dict)  #{'sex': None, 'name': None, 'age': None}
#“键”是给出的序列中的元素,“值”为空。

3. 字典元素的读取

3.1下标方式读取Value

与列表类似,可以使用下标的方式来访问字典中的元素,但不同的是字典的下标是字典的“键”,而列表和元组访问时下标必须为整数值。使用下标的方式访问字典“值”时,若指定的键不存在则抛出异常。

a_dict = {'name':'DYX', 'sex':'male', 'age':24}
print(a_dict['name'])  #DYX
#print(a_dict['tel'])  KeyError: 'tel' 不存在抛出异常

3.2 get()读取Value

使用字典对象的get()方法可以获取指定”键“对应的”值”并且可以在指定“键“不存在的时候返回指定值,如果不指定,则默认返回None。相对于上文的方法,该方法更安全。

即:下标方法,在指定键不存在的情况下会抛出异常,而get()方法会返回指定值,或者是None。

a_dict = {'name':'DYX', 'sex':'male', 'age':24}
print(a_dict.get('ranking'))   #None  指定的键ranking不存在返回None
print(a_dict.get('ranking','No entry'))  #No entry  指定的键不存在,返回指定的内容No entry

3.3 keys()方法返回“键” 

a_dict = {'name':'DYX', 'sex':'male', 'age':24}
print(a_dict.keys())    #输出字典的键 dict_keys(['name', 'age', 'sex'])
print(type(a_dict.keys())) #查看一下类型 <class 'dict_keys'>
print(list(a_dict.keys()))  #['age', 'name', 'sex']

for key in a_dict.
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值