Python学习之路——字典(dict)


字典是Python中一种新的数据结构,称之为映射(mapping)。字典的作用就是用来存储对象的容器。列表存储数据性能很好,但是查询数据性能很差。字典中每一个元素都有唯一的一个名字,通过这个名字可以快速查找到指定的元素。

一、创建字典

字典的键必须不可变,可以用数、字符串或元组充当;
字典值可以没有限制地取任何python对象。
创建时如果同一个键被赋值两次,前一个值会被覆盖,保留后一个值。

# 方式一
dic1 = {'key':'value', 'use':'Python'}
dic11 = {} # 空字典
# 方式二
dic2 = dict('key' = 'value', 'use' = 'Python')
dic22 = dict() # 空字典
# 方式三	双值子序列
dic3 = dict([('key', 'value'),'use', 'Python')])

二、访问字典的值

字典中的关系为一一映射,可以通过键来获取值。

dic = {'key':'value', 'use':'Python'}
dic['key']	# value

当字典中不存在该键值时会抛出异常

dic = {'key':'value', 'use':'Python'}
dic['1']
# KeyError: '1'

三、字典的特殊操作

1. 修改、添加字典的值

dic = {'key':'value', 'use':'Python'}
# 当字典中存在这个键值时修改原来的value值
dic['key'] = 123 # dic = {'key':123, 'use':'Python'}
# 当字典中不存在这个键值时添加到字典中
dic['keys'] = 123 # dic = {'key':123, 'use':'Python', 'keys':123}

2. 判断键值是否在字典内部

dic = {'key':'value', 'use':'Python'}
'key' in dic # 当键值存在于字典时返回True
'key1' in dic # 当键值不存在于字典时返回False

3. 遍历字典的键值

dic = {'key':'value', 'use':'Python'}
for i in dic:
	print(i)
# 'key'
# 'use'

四、字典常用函数

1. 求取字典中的键值对数目(len)

dic = {'key':'value', 'use':'Python'}
# len()函数可以用来求取字典的键值对数目
len(dic) # 2
# 魔术方法 面向对象
dic.__len__() # 2

2. 删除字典中的键值对(del)

dic = {'key':'value', 'use':'Python'}
# del()函数可以用来删除字典中的键值对
del(dic['key']) # dic = {'use':'Python'}

五、字典常用方法

1. 根据键值获取值(get)

dic = {'key':'value', 'use':'Python'}
# get(key[,default]) 根据键来获取字典当中的值
# 键存在于字典中则返回键对应的值
dic.get('key') # 'value'
# 不存在则返回default的值(默认为None)
dic.get('key1','没有这个键') # '没有这个键'

2. 添加键值对(setdefault)

dic = {'key':'value', 'use':'Python'}
# setdefault(key[,default])可以向字典当中添加key-value
# 如果Key已经存在字典当中,则返回key的值,不会对字典做任何操作
dic.setdefault('key','Java') # 'value'
# 如果key不存在,则向字典当中添加这个key和value,返回default值
dic.setdefault('dict','123') # '123'
# dic = {'key':'value', 'use':'Python', 'dict':'123'}

3. 添加另一个字典的键值对(update)

dic1 = {1:'a', 2:'b'}
dic2 = {3:'c', 4:'d'}
# update()可以将另一个字典的键值对添加到原来的字典中
dic1.update(dic2) # dic1 = {1:'a', 2:'b', 3:'c', 4:'d'}
# 若传入的字典中有与原字典相同的键,则会覆盖原来的值
dic3 = {5:'e', 1:'f'}
dic1.update(dic3) # dic1 = {1:'f', 2:'b', 5:'e'}

4. 删除字典指定的键值(pop)

dic = {'key':'value', 'use':'Python'}
# pop(key[,default])可以删除指定字典中指定的键值
# key是必选参数,必须给出,default是可选参数,可以不给出
# 键值key在字典中存在,删除dict[key],返回 dict[key]的value值
dic.pop('key') # 'value'
# 当键值key在字典中不存在时,如没有给出default值则抛出异常
dic.pop('key1') # KeyError: 'key1'
# 如果给出default值则返回default值
dic.pop('key1', 'ERROR') # 'ERROR'

5. 随机删除字典中的键值对(popitem)

dic = {'key':'value', 'use':'Python'}
# popitem()会随机删除字典中的一个键值对(一般为最后一个)并返回一个包含键和值的元组
dic.popitem() # ('ues', 'Python')
# 当字典为空时抛出异常
dic1 = {}
dic1.popitem() # KeyError: 'popitem(): dictionary is empty'

6. 清空字典(clear)

dic = {'key':'value', 'use':'Python'}
# clear()会将字典中的键值对全部删除
dic.clear() # dic = {}

7. 字典的浅拷贝(copy)

dic = {'key':'value', 'use':'Python'}
# copy()可以浅拷贝字典给另外一个字典
dic1 = dic.copy() # dic1 = {'key':'value', 'use':'Python'}

8. 遍历字典的键值对(items)

dic = {'key':'value', 'use':'Python'}
# items()可以将字典中的键和值同时提取出来
for i in dic.items():
	print(i)
# ('key', 'value')
# ('use', 'Python')

9. 遍历字典的键值(keys)

dic = {'key':'value', 'use':'Python'}
# keys()可以将字典中的键同时提取出来
for i in dic.keys():
	print(i)
# 'key'
# 'use'

10. 遍历字典的值(values)

dic = {'key':'value', 'use':'Python'}
# values()可以将字典中的值同时提取出来
for i in dic.values():
	print(i)
# 'value'
# 'Python'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值