美文网首页
字典的方法

字典的方法

作者: 匿隱 | 来源:发表于2019-01-24 11:20 被阅读0次

    1.比较运算

    ==, !=
    注意:判断两个字典是否相等,只看键值对是否一样,不管键值对的顺序;
    字典不支持>和<符号

    print({'a': 11, 'b': 22} == {'b': 22, 'a': 11})   # True
    

    2. in / not in

    key in 字典 --- 判断字典中指定的key是否存在
    key not in 字典 --- 判断字典中指定的key是否不存在

    dict1 = {'a': 1, 'z': 2, 'c': 3}
    print('a' in dict1)  # True
    print(1 in dict1)    # False
    

    3. len(), max(), min()

    dict(数据) - 数据要求是序列,并且序列中的元素都是有两个元素的子序列

    # 获取字典中键值对的个数
    print(len(dict1))
    # 获取字典中key的最大值/最小值
    print(max(dict1), min(dict1))
    
    # 将列表转换成字典
    print(dict([(1, 2), ('a', 'b'), [10, 'abc']]))
    
    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    # 字典转列表/元祖/集合都是将字典中的key取出来作为列表/元祖/集合的元素
    print(list(dict2))      # ['name', 'color', 'height']
    

    4.相关方法

    """

    1.字典.clear() - 清空字典

    注意:清空容器推荐使用clear操作,而不是重新赋一个空的容器

    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    print(id(dict2))
    dict2.clear()
    print(dict2, id(dict2))
    
    # 只有容器本身不存在的时候,可以使用
    dict2 = {}
    print(id(dict2))
    

    2.字典.copy() - 复制字典的中的元素,产生一个新的字典

    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    # 直接赋值,修改其中一个的元素,会影响另外一个
    dict3 = dict2
    print(dict3)
    dict3['name'] = '小明'
    print(dict3)
    print(dict2)
    
    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    # 拷贝赋值,会产生新的地址,赋值后相互不影响
    dict4 = dict2.copy()
    print(dict4)
    del dict4['color']
    print(dict4)
    print(dict2)
    

    3. dict.fromkeys(序列, 值) -- 以序列中所有的元素作为key,指定的值作为value创建一个新的字典

    new_dict = dict.fromkeys('abc', (10, 20, 30))
    print(new_dict)
    
    new_dict = dict.fromkeys(['name', 'age', 'tel'], 0)
    print(new_dict)
    

    4.

    字典.keys() - 将字典所有的key取出产生一个新的序列
    字典.values() - 将字典所有的value取出产生一个新的序列
    字典.items() - 将字典所有的key和value做为一个元祖取出产生一个新的序列

    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    print(dict2.keys(), dict2.values(), dict2.items())
    

    5.字典.setdefault(key, value=None)

    字典.setdefault(key) - 当key不存在的时候,添加键值对key:None
    字典.setdefault(key, value) - 当key不存在的时候,添加键值对key:value
    注意:这个操作当key存在的时候,不会修改

    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    
    dict2.setdefault('name2', '小胡')
    dict2.setdefault('sex')
    print(dict2)
    

    6. 字典1.update(字典2) - 使用字典2中的键值对去更新字典1;

    如果字典2中的key,字典1中本身存在就是修改,不存在就添加

    dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
    dict2.update({'height': 180, 'age': 18})
    print(dict2)
    
    dict2.update([('a', 100), ('age', 30)])
    print(dict2)
    

    相关文章

      网友评论

          本文标题:字典的方法

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