Python之字典

定义:字典是由一系列键值对组成的可变映射容器
特点

  • 字典是可变的(可以在原处增长或缩短,键对应的值可以任意深度的嵌套),但字典中的键是不可变的(只能是数字、字符串或元组,而对应的值可以是任意数据类型)。
  • 字典的存储是基于哈希原理的,是无序的;python3.6及以后的字典输出顺序是有序的。
  • 字典中的键必须唯一,若出现两次及以上,则后一个值会被记住,而键对应的值不是必须唯一。

一、字典的创建和删除

1.创建空字典

方法一:d01 = {}
方法二:d02 = dict()

2.创建具有默认值的字典

方法一:dictionary = {'key1':'value1', 'key2':'value2', ……, 'keyn':'valuen',}
方法二:dictionary = dict(key1=value2, key2=value2, ......, keyn=valuen)
方法三:dictionary = dict(((),(),...()))
	  dictionary = dict([(),(),...,()])
	  dictionary = dict(([],[],...,[]))
	  dictionary = dict([[],[],...,[]])
方法四:dictionary = dict(zip(list1, list2))
方法五:dictionary = dict.fromkeys(list1)  # 该方法创建值为空的字典

3.删除字典

del dictionary

二、访问字典

1.单次访问

print(dictionary) 					        # 打印输出字典所有键值对
print(dictionary['key']) 			        # 根据键打印对应的值,键不存在时,报错KeyError
print(dictionary.get(key[, default=None]))  # default用于指定当key不存在时,返回的默认值,若省略,则返回None
                                            # 在实际使用时,字典类型的对象调用get方法使用默认值参数时不要添加default=,
                                            # 否则会报TypeError: get() takes no keyword arguments的错误

2.循环遍历字典
1)根据字典的键遍历所有的值

for key in dictionary:
	print(dictionary[key])

2)获取字典中所有元组记录,item()返回可遍历的键值元组

dict_items = dictionary.items()  # dict_items为封装了元组列表的对象
for item in dictionary.items():
	print(item)
for key, value in dictionary.items():
	print(key, value)

3)获取所有键

dict_keys = dictionary.keys()  # dict_keys为封装了由键组成的列表的对象
for key in dictionary.keys()
	print(key)

4)获取所有值

dict_values = dictionary.values()  # dict_values为封装了由值组成的列表的对象
for value in dictionary.values()
	print(value)

三、添加、修改和删除字典元素

1.添加和修改元素

dictionary['a'] = 'A'  			   # 字典中没有键'a'时,创建该键值对
dictionary['a'] = 'AA' 		 	   # 字典中存在键'a'时,则修改'a'对应的值

dictionary.setdefault(key[, default=None])
# 当key不存在时,添加key以及对应的值,若没有指定default,默认None,返回None
# 当key存在时,不会对key对应的value作修改操作,返回key对应的原来的值

dictionary01.update(dictionary02)  # 字典记录累加
# 将字典dictionary02合并到dictionary01中,若键相同,则此键的值取dictionary02的值作为新值

2.删除元素
1)删除字典中某一个元素

del dictionary[key]
value = dictionary.pop(key)  	   # 移除键和对应的值,同时返回此键所对应的值
key, value = dictionary.popitem()  # python2中随机返回并删除字典中的一对键和值
								   # python3中返回并删除字典中末尾的一对键和值

2)删除字典中全部元素

dictionary.clear()  			   # 原字典变为空字典

四、字典推导式

使用字典推导式可以快速生成一个字典
语法(if条件为可选项):

new_dictionary = {key: value for item in 可迭代对象 if 条件}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值