字典的增删改查
Posted yangguogui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典的增删改查相关的知识,希望对你有一定的参考价值。
1、字典 dict : 字典从3.6版本已经默认改成有序的 。==== 字典还是无序的
字典用 来表示 里面有键值对数据 key : value
键 key : 要保证key唯一性(不能重复,不可以变)必须是可哈希的 不可变的数据类型就可以是字典的键
2、字典的新增:
1) 新增
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic[‘type_‘]=‘类型‘
print(dic)
‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘type_‘: ‘类型‘
2)setdefault 新增
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic.setdefault(‘type_‘,‘类型‘)
print(dic)
--‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘type_‘: ‘类型‘
setdefault的坑:如果在字典中存在就不做任何操作,不存在就添加
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic.setdefault(‘type_‘,‘类型‘)
dic.setdefault(‘type_‘,‘类型——‘)
print(dic)
--‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘type_‘: ‘类型‘
3.删除:
1) pop ( ‘key‘ )
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic.pop(‘dic_‘)
print(dic)
-----‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘
通过pop(‘key‘)删除返回值
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
ret=dic.pop(‘dic_‘)
print(ret)
=== 字典
2) del 变量 [‘key‘ ]
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
del dic[‘int_‘]
print(dic)
====‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘
3) clear 清空
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic.clear ()
print(dic)
==== ----空列表
4)popitem (随机删除,但是试了很多次都是最后一个)返回一个元组(key,value)
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
ret = dic.popitem()
print(ret)
5、改:
强制修改
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic[‘int_‘]=‘强制修改‘
print(dic)
=====‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘强制修改‘
2)update----升级或者更新
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic2=‘god‘:‘小狗‘ , ‘cat‘:‘小猫‘ , ‘boy‘:‘男孩‘
dic.update(dic2)
print(dic)
===‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘god‘: ‘小狗‘, ‘cat‘: ‘小猫‘, ‘boy‘: ‘男孩‘
两种不同的结果:
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic2=‘god‘:‘小狗‘ , ‘cat‘:‘小猫‘ , ‘boy‘:‘男孩‘,‘int_‘:‘整数升级‘
dic.update(dic2)
print(dic)===‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数升级‘, ‘god‘: ‘小狗‘, ‘cat‘: ‘小猫‘, ‘boy‘: ‘男孩‘
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
dic2=‘god‘:‘小狗‘ , ‘cat‘:‘小猫‘ , ‘boy‘:‘男孩‘,‘int_‘:‘整数升级‘
dic2.update(dic)
print(dic2)==‘god‘: ‘小狗‘, ‘cat‘: ‘小猫‘, ‘boy‘: ‘男孩‘, ‘int_‘: ‘整数‘, ‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘
谁在前面就升级谁
6、查
1)for 循环 默认获取字典中的键
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
for i in dic:
print(i)
==
dic_
string_
int_
2)查看1
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic[‘dic_‘])==字典
3)查看2
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic.get(‘dic_‘))==字典
查看2和查看1有什么不一样----查看1如果查字典没有的就报错,查看2有返回值,默认是None,可以自己设定
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic.get(‘dic_3‘,‘你傻啊,没有‘))==你傻啊,没有
4)查看3
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic.setdefault(‘dic_‘))==字典
查没有的会返回None
5)查看4
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic.keys())==dict_keys([‘dic_‘, ‘string_‘, ‘int_‘])
([‘dic_‘, ‘string_‘, ‘int_‘])这是一个高仿列表,那么就有列表的特性
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
for i in dic.keys():
print(i)===dic_ s tring_ int_
6)dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic.values())==dict_values([‘字典‘, ‘字符串‘, ‘整数‘])
这是一个高仿列表,那么就有列表的特性,,就不重复操作了
7)
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
print(dic.items())===dict_items([(‘dic_‘, ‘字典‘), (‘string_‘, ‘字符串‘), (‘int_‘, ‘整数‘)])
新增知识点: 解构 将后面打开按位置赋值给变量,支持元组、字符串、列表
dic=‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘
for a,b in dic.items():
print(a)
print(b)==
dic_
字典
string_
字符串
int_
整数
以上是关于字典的增删改查的主要内容,如果未能解决你的问题,请参考以下文章