python笔记——字典操作详解

系统 1523 0

字典是python里面唯一的映射类型,由一个个键值对组成。

  1. 字典的创建
  2. 字典的查询
  3. 字典的删除
  4. 字典的修改or添加
  5. 字典的内置方法(BIF)
  6. 字典的特性
  7. 通讯录练习

一、创建字典(two)


  1. 使用{}创建

  2. 使用dict()函数

demo

            
              
                >>
              
              
                >
              
               dict1 
              
                =
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
                >>
              
              
                >
              
               dict2 
              
                =
              
              
                dict
              
              
                (
              
              one 
              
                =
              
              
                1
              
              
                ,
              
               two 
              
                =
              
              
                2
              
              
                ,
              
               three 
              
                =
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict1
              
                [
              
              
                'one'
              
              
                ]
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                [
              
              
                "one"
              
              
                ]
              
              
                )
              
              
                1
              
              
                1
              
            
          

上面的demo中需要注意的是 dict()方法创建字典的时候无需key无需加"",这个函数会自动给key加"" ,如果你加上它会报错。

二、查询字典


  1. dict
    访问整个字典,字典会无序的返回,因为字典重视的是key和value之间的对应关系,而非排序。

  2. dict1[“key”]:
    通过访问key,返回value,
    print(dict[“one”])

  3. dict1.get(“key”,“报错内容”):
    如果字典中不存在某个key,而你访问的话会报错,这个时候使用get方法比较合适
    如果存在key,会直接返回key对应的value,如果不存在返回你设置的报错内容。

demo

            
              
                >>
              
              
                >
              
               dict2 
              
                =
              
              
                dict
              
              
                (
              
              one 
              
                =
              
              
                1
              
              
                ,
              
               two 
              
                =
              
              
                2
              
              
                ,
              
               three 
              
                =
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                )
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
                ##这是巧合,一般会返回无序的字典
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                [
              
              
                "one"
              
              
                ]
              
              
                )
              
              
                1
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                .
              
              get
              
                (
              
              
                "one"
              
              
                ,
              
              
                "不存在"
              
              
                )
              
              
                )
              
              
                #虽然get后面有报错内容,但键存在所以不会显示
              
              
                1
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                .
              
              get
              
                (
              
              
                "five"
              
              
                ,
              
              
                "不存在"
              
              
                )
              
              
                )
              
              
                #five这个键不存在,所以会显示报错内容,给用户良好的交互感。
              
              
不存在

            
          

三、删除字典

  1. del dict1:
    删除整个字典
  2. dict1.clear()
    删除整个字典
  3. del dict[“key”]
    删除字典中的键-值对
  4. dict.pop(“key”)

四、修改or添加字典


dict[“key”] = value:
如果key存在,则修改value,如果key不存在,则添加value

demo

            
              
                >>
              
              
                >
              
               dict2 
              
                =
              
              
                dict
              
              
                (
              
              one 
              
                =
              
              
                1
              
              
                ,
              
               two 
              
                =
              
              
                2
              
              
                ,
              
               three 
              
                =
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
               dict2
              
                [
              
              
                "two"
              
              
                ]
              
              
                =
              
              
                22
              
              
                >>
              
              
                >
              
               dict2
              
                [
              
              
                "four"
              
              
                ]
              
              
                =
              
              
                4
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                )
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                22
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                ,
              
              
                'four'
              
              
                :
              
              
                4
              
              
                }
              
            
          

五、字典的内置方法(BIF)


clear() #删除字典内所有元素
copy() #返回一个字典的浅复制
fromkeys() #初始化一个新字典 对象 ,以序列seq中元素做字典的键,val为字典所有键对应的初始值

            
              c
              
                =
              
              
                dict
              
              
                .
              
              fromkeys
              
                (
              
              
                [
              
              
                7
              
              
                ,
              
              
                8
              
              
                ,
              
              
                9
              
              
                ]
              
              
                ,
              
              
                "test"
              
              
                )
              
              
                print
              
              
                (
              
              c
              
                )
              
            
          

get(key, default=None) #返回指定键的值,如果值不在字典中返回default值
has_key(key) #如果键在字典dict里返回true,否则返回false
items() #以列表返回可遍历的(键, 值) 元组数组
keys() #以列表返回一个字典所有的键
setdefault(key, default=None) #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
update(dict2) #把字典dict2的键/值对更新到dict里
values() #以列表返回字典中的所有值

六、key的特性


  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  2. 键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行

七、利用字典特性实现通讯录功能


python笔记——字典操作详解_第1张图片

            
              tong 
              
                =
              
              
                {
              
              
                "one"
              
              
                :
              
              
                1
              
              
                }
              
              
temp 
              
                =
              
              
                print
              
              
                (
              
              
                "|---欢迎进入通讯录程序---|\n|---1:查询联系人资料---|\n|---2:插入新的联系人---|\n|---3:删除已有联系人---|\n|---4:退出通讯录程序---|"
              
              
                )
              
              
                while
              
              
                True
              
              
                :
              
              
    instr 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                "请输入相关的指令代码:"
              
              
                )
              
              
                )
              
              
                if
              
               instr 
              
                ==
              
              
                2
              
              
                :
              
              
        contact 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "请输入联系人姓名:"
              
              
                )
              
              
                )
              
              
                if
              
               contact 
              
                in
              
               tong
              
                :
              
              
            instr1 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "您输入的用户名已经存在-->>"
              
              
                ,
              
              a
              
                ,
              
              
                ":"
              
              
                ,
              
              tong
              
                [
              
              a
              
                ]
              
              
                ,
              
              
                "\n是否修改用户资料(Yes/No):"
              
              
                )
              
              
                )
              
              
                if
              
               instr1 
              
                ==
              
              
                "Yes"
              
              
                :
              
              
                tel 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                "请输入用户联系方式:"
              
              
                )
              
              
                )
              
              
                tong
              
                [
              
              contact
              
                ]
              
              
                =
              
               tel        
        
              
                else
              
              
                :
              
              
            tel 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                "请输入用户联系方式:"
              
              
                )
              
              
                )
              
              
            tong
              
                [
              
              contact
              
                ]
              
              
                =
              
               tel
    
              
                elif
              
               instr 
              
                ==
              
              
                1
              
              
                :
              
              
        contact 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "请输入联系人姓名:"
              
              
                )
              
              
                )
              
              
                if
              
               contact 
              
                in
              
               tong
              
                :
              
              
                print
              
              
                (
              
              tong
              
                [
              
              contact
              
                ]
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "通讯录中没有此人"
              
              
                )
              
              
                elif
              
               instr 
              
                ==
              
              
                3
              
              
                :
              
              
        contact 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "请输入联系人姓名:"
              
              
                )
              
              
                )
              
              
                if
              
               contact 
              
                in
              
               tong
              
                :
              
              
                del
              
               tong
              
                [
              
              contact
              
                ]
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "通讯录中没有此人"
              
              
                )
              
              
                elif
              
               instr 
              
                ==
              
              
                4
              
              
                :
              
              
                print
              
              
                (
              
              
                "|---感谢使用通讯录程序---|"
              
              
                )
              
              
                break
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论