字典的增删改查

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_
整数

 

以上是关于字典的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

MySQL-增删改查简易操作

python 字典的增删改查

字典的增删改查

python3-字典的增删改查

Python 字典的增删改查

python 3.0 字典的增删改查