- Python基础——数据类型—字典
- 创建字典
- 字典的拼接
- 字典的访问
- 通过key值检索
- 通过dict.get()检索
- 添加/修改字典元素
- 删除 *** 作
- 删除最后一个元素
- 删除指定key对应的元素
- 删除字典的全部元素
- 获取key或者value的集,或者(key,value)元组集
** {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])
输出:
当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条)