Python3-字典

字典
一、定义:
        是另一种可变容器模型,可存储任意类型对象;(也被称为关联数组或哈希表;存储的数据是没有顺序的)
        注意:
            ·键名必须是唯一的,而且键名不可修改,可以联想到新华字典,在传递参数用(**arg)来保存字典
            ·字典值可以是任意的Python对象,既可以是标准的对象,也可以是用户定义的
            ·不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
            ·键必须不可变,所以可以用数字、字符串、元组充当
 
二、字典的增、删、改、查
    ①增
        示例1:dict1 = {"info":1}
              dict["info"] = "hello world"
              print(dict1)
        结果:{'info': 'hello world'}
 
        示例2:dict1 = {'info': 'hello world'}
              dict1["sakura"] = "python"
              print(dict1)
        结果:{'info': 'hello world', 'sakura': 'python'}
 
        注意:·如果存在键值对,在该键下添加新元素,会把旧元素替换(修改元素)(如示例1)
              ·如果不存在的键,则会在该字典里新插入一对键值对(如示例2)
    
    ②删
        示例:dict1 = {"info":1,"sakura":"hello world"}
              del dict1["sakura"]
              print(dict1)
        结果:{"info":1}
 
        示例:dict1.clear()
              print(dict1)
        结果:{}
 
        示例:del dict1
              print(dict1)
        结果:NameError: name 'dict1' is not defined
 
    ③改
        字典添加新内容的方法是增加新的键值对,修改或删除已有键值对
 
    ④查
        ·获取字典内元素方法(通过键(key)来获取对应的值(value))
        ·通过keys()内置函数来获取所有的键
            示例:dict1 = {"info",1,"sakura":"hello"}
                  print(dict1.keys())
            结果:dict_keys(['info', 'sakura'])
 
        ·通过values()内置函数来获取所有的值
            示例:dict1 = {"info",1,"sakura":"hello"}
                  print(dict1.values())
            结果:dict_values([1, 'hello'])
 
三、内置函数
    len(dict):计算字典元素个数,即键的总数
 
  str(dict):输出字典,以可打印的字符串表示。
 
  type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
 
  dict.clear():删除字典内所有元素
 
  dict.copy():返回一个字典的浅复制
 
  dict.fromkeys(iterable, value=None):创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
        示例:
 1 i1 = "a"
 2 i2 = ["d",1]
 3 i3 = ("c","v")
 4 i4 = {"info":"abc","name":"sakura"}
 5 v1 = dict.fromkeys(i1,"add")
 6 v2 = dict.fromkeys(i2,"change")
 7 v3 = dict.fromkeys(i3,"change")
 8 v4 = dict.fromkeys(i4)
 9 v5 = dict.fromkeys(i4,"valueChange")
10 print(v1)
11 print(v2)
12 print(v3)
13 print(v4)
14 print(v5)
        结果:  
1 {'a': 'add'}
2 {1: 'change', 'd': 'change'}
3 {'v': 'change', 'c': 'change'}
4 {'info': None, 'name': None}
5 {'info': 'valueChange', 'name': 'valueChange'}

 

        注意:
            ·该方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None
            ·iterable:用于创建新的字典的键的可迭代对象(字符串、列表、元组、字典),所以它的值不能是数值型(int、float)否则会报错
 
  dict.get(key,default=none):返回指定键的值,如果值不在字典中返回default值
 
  key in dict:如果键在字典dict里返回true,否则返回false
 
  dict.items():以列表返回可遍历的(键, 值) 元组数组
        示例:i1 = {"info":"abc","name":"sakura"}
              result = i1.items()
              print(result)
        结果:dict_items([('info', 'abc'), ('name', 'sakura')])
 
  dict.keys():返回一个迭代器,可以使用 list() 来转换为列表
        示例:i1 = {"info":"abc","name":"sakura"}
              result = i1.keys()
              print(result)
        结果:dict_keys(['info', 'name'])
 
  dict.setdefault(key,default=none):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
 
  dict.update(dict2):把字典dict2的键/值对更新到dict里
 
  dict.values():返回一个迭代器,可以使用 list() 来转换为列表
        示例:i1 = {"info":"abc","name":"sakura"}
              result = i1.values()
              print(result)
        结果:dict_values(['abc', 'sakura'])
 
  pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
 
  d.popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。
 
posted @ 2020-05-31 12:53  闹点小情绪q  阅读(139)  评论(0编辑  收藏  举报