Python基础——数据类型—字典

Python基础——数据类型—字典

** {key:value} ** 以映射的关系成对存在的 无序 的键值对的集合
因为无序,所以不可以进行索引操作
key是不可变的,value可以取任何数据类型
key必须是唯一的,但value则不必。

创建字典

  • 方法一:直接创建
#直接创建一个字典
roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}#直接创建一个字典
  • 方法二:调用dict()函数创建
    形式一:列表套元组
lis =[('1','I'),('2','II'),('3','III'),('4','IV')]#形式一:列表套元组
nome_dict = dict(lis)#调用dict()函数创建
print(nome_dict)

输出:
在这里插入图片描述

形式二:元组套元组

tup = ((1,'kiki'),(2,'Jack'),(3,'Tom'),(4,'Rouse'))#形式二:元组套元组
nome2_dict = dict(tup)#调用dict()函数创建
print(nome2_dict)

输出:
在这里插入图片描述

字典的拼接

字典不支持 “+”操作

  • 方法一
    字典的拼接要用
dict.update(dict2)

用添加函数dict.update(),注意,添加时会替代key相同的字典元素
实例:

#定义两个字典:
roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
tup = ((1,'kiki'),(2,'Jack'),(3,'Tom'),(4,'Rouse'))#形式二:元组套元组
nome2_dict = dict(tup)
roman_dict.update(nome2_dict)#执行字典的拼接操作
print('两个字典添加拼接:\n',roman_dict)

输出:
在这里插入图片描述

  • 方法二
    用dict.items()将字典转换成元组集合,然后用list()或者tuple()函数转换成字典或者元组
    再相加成组成行的元组集合,再用dict()转换成字典
#定义两个字典:
roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
nome2_dict = {1: 'kiki', 2: 'Jack', 3: 'Tom', 4: 'Rouse'}
#用dict.items()将字典转化为列表套元组的形式,再转换成字典
lis1 = list(dict.items(roman_dict))
lis2 = list(dict.items(nome2_dict))
#列表相加拼接
lis = lis1+lis2
dic = dict(lis)#再转换成字典
print(dic)

输出:
在这里插入图片描述

字典的访问

两种方法传入的都是 key,不同的是:

通过key值检索

当key不存在时程序奔溃。

roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
print(roman_dict['1'])#方法一,dict[key],key不存在时,程序崩溃
print(roman_dict[2])

输出:
在这里插入图片描述

通过dict.get()检索

当key不存在时,程序返回None,不崩溃。

roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
print(roman_dict.get('2'))#dict.get(key),当key不存在时返回None,程序不会崩溃

输出:
在这里插入图片描述

添加/修改字典元素

  • 方法一:用函数dict.update()添加指定元素
    可以用来添加、修改元素,可以传入多个值
dict.update(dict2)#拼接字典
dict.update({key:value},{key:value},{key:value})#添加/修改元素
#dict.update()函数的使用
#定义一个字典
roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
#添加元素{'5':'V'}
roman_dict.update({'5':'V'})
#打印添加元素后的字典
print('添加元素后的dict:',roman_dict)
#修改第一个元素的value为one
roman_dict.update({'1':'one'})
#打印修改以后的字典
print('修改元素后的dict:',roman_dict)

输出:
在这里插入图片描述

  • 方法二:通过键值在指定位置添加
    可以用来修改指定键值对应的Value
dict[key] = value#添加/修改元素
#定义一个字典
roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
#通过键值在指定位置添加元素
roman_dict['5'] = 'V'
print('添加后的dict:',roman_dict)
#通过键值修改元素value
roman_dict['1'] = 'first'
print('通过键值修改后的字典:',roman_dict)

输出:
在这里插入图片描述

  • 方法三:dict.setdefault(key,value)添加一个指定元素,不可用于修改
    ()里传入的就不是字典类型了,而是由(key,value)组成的元组
dict.setdefault(key,value)#这个地方传入的就不是字典形式了,而是元组,且只能是一个键值对
#定义一个字典
roman_dict = {'1':'I',2:'II','3':'III','4':'IV'}
#用dict.setdefault()添加一个元素
roman_dict.setdefault('5','value')
print('添加后的dict:',roman_dict)

输出:
在这里插入图片描述

删除操作

删除最后一个元素

dict.popitrm()#不用传参

删除指定key对应的元素

删除指定键值位元素,pop()返回值是key对应的value,不存在时报错

dict.pop(key)

删除字典的全部元素

dict.clear()

获取key或者value的集,或者(key,value)元组集

dict.keys()#键值key集
dict.values()#value集
dict.items()#把每个字典元素封装成元组,然后组成一个新的数据集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

企鹅家的北极熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值