美文网首页
12.python3字典

12.python3字典

作者: dwy_interesting | 来源:发表于2020-05-26 10:51 被阅读0次

    字典的概念和创建

    字典概念:
    1.使用键值对(key-value)存储,具有极快的查找速度
    2.注意:字典是无序的
    3.特性:字典的值使用一对{}括起来;字典中的key必须唯一;key必须是不可变的对象;字符串、整数、元组等都是不可变的,可以作为key;list是可变的,不能作为key。

    字典创建:
    1.创建空字典

    dict0={}
    

    2.创建有元素的字典

    dict1 = {"chinese":100, "math":98,"history":100}
    

    字典访问

    1.直接访问:字典名[key] 没有这个key就会报错

    dict1 ={"chinese":100, "math":98,"history":90}
    print(dict1["chinese"]) #100
    print(dict1["PE"])         #没有这个key会报错,报错内容:KeyError: 'PE'
    

    2.使用get访问:字典名.get(key) 没有这个key会返回None

    dict1 = {"chinese":100, "math":98,"history":90}
    print(dict1.get(“math”))     #98
    print(dict1.get("jojo"))    #没有这个key不会报错,返回None
    

    字典添加

    字典添加:
    字典名[key] = value,如果key存在字典中就为修改

    dict1 ={"chinese":100, "math":98,"history":90}
    dict1["PE"] = 99
    print(dict1)    #{'chinese': 100, 'math': 98, 'history': 90, 'PE': 99}
    
    #因为一个key对应一个value,所以多次对一个key赋值其实就是修改这个key的值
    dict1["PE"] = 88
    print(dict1)    #{'chinese': 100, 'math': 98, 'history': 90, 'PE': 88}
    

    字典删除

    字典删除:
    字典名.pop(key)

    dict1 ={"chinese":100, "math":98,"history":90}
    dict1.pop("chinese")
    print(dict1)    #{'math': 98, 'history': 90}
    

    字典内置函数与方法

    内置函数:

    1.len(dict) -- 计算字典元素个数,即键的总数。

    dict1 ={"chinese":100, "math":98,"history":90}
    print(len(dict1))   #3
    

    2.str(dict) -- 输出字典可打印的字符串表示。

    dict1 ={"chinese":100, "math":98,"history":90}
    print(str(dict1))   #”{"chinese":100, "math":98,"history":90}”
    

    3.type(variable) -- 返回输入的变量类型,如果变量是字典就返回字典类型。

    dict1 ={"chinese":100, "math":98,"history":90}
    print(type(dict1))     #<class 'dict'>
    

    内置方法:

    1.dict.copy() -- 返回一个字典的浅复制

    dict1 ={"chinese":100, "math":98,"history":90}
    dict2 = dict1.copy()
    print(dict2)    #{'chinese': 100, 'math': 98, 'history': 90}
    

    2.dict.update(dict2) -- 把字典dict2的键值对更新到dict里

    dict1 = {"chinese":100, "math":98}
    dict2 = {"history":90}
    dict1.update(dict2)
    print ( dict1)  #{'chinese': 100, 'math': 98, 'history': 90}
    

    3.dict.items() -- 以列表返回可遍历的(键, 值) 元组数组

    dict = {"chinese":100, "math":98}
    print (dict.items())              #dict_items([('chinese', 100), ('math', 98)])
    

    4.dict.keys() -- 以列表返回一个字典所有的键

    dict =  {"chinese":100, "math":98}
    print(dict.keys())       #dict_keys(['chinese', 'math'])
    

    5.dict.values() -- 以列表返回字典中的所有值

    dict =  {"chinese":100, "math":98}
    print (list(dict.values())) #dict_values([100, 98])
    

    字典与列表的对比

    和list比较:
    1、字典查找和插入的速度极快,不会随着key-value的增加变慢;列表查找和插入的速度会随着数据量的增加而变慢
    2、字典需要占用大量的内存,内存浪费多,(多存了key的部分);列表占用空间少,浪费内存少

    相关文章

      网友评论

          本文标题:12.python3字典

          本文链接:https://www.haomeiwen.com/subject/rhkkwhtx.html