zoukankan      html  css  js  c++  java
  • python 字典相关函数和操作方法

    字典相关函数 字典.方法()

    dic = {"卢俊义":"玉麒麟"}
    dic["小李广"] = "花荣"
    dic["智多星"] = "吴用"
    dic["入云龙"] = "公孙胜"
    dic["霹雳火"] = "秦明"
    print(dic)
    

    fromkeys() 使用一组键和默认值创建字典

    list_var = ["a","b","c"]
    dict_var = {}.fromkeys(list_var,None)
    print(dict_var)
    

    注意点:abc三个键指向的列表是同一个

    list_var = ["a","b","c"]
    dict_var = {}.fromkeys(list_var,[1,2,3])
    print(dict_var)
    dict_var["a"].append(4)
    print(dict_var)
    #运行结果
    {'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [1, 2, 3]}
    {'a': [1, 2, 3, 4], 'b': [1, 2, 3, 4], 'c': [1, 2, 3, 4]}
    #如果是可变数据类型三个字典对应的列表的数值的会改变
    
    dic ={'卢俊义': '玉麒麟', '小李广': '花荣', '智多星': '吴用', '入云龙': '公孙胜', '霹雳火': '秦明'}
    # pop()       通过键去删除键值对 (若没有该键可设置默认值,预防报错)
    res =dic.pop("霹雳火")
    print(res)# 把删除的值作为返回
    print(dic)
    
    运行结果:
    #秦明
    #{'卢俊义': '玉麒麟', '小李广': '花荣', '智多星': '吴用', '入云龙': '公孙胜'}
    
    设置默认值
    dic ={'卢俊义': '玉麒麟', '小李广': '花荣', '智多星': '吴用', '入云龙': '公孙胜', '霹雳火': '秦明'}
    res =dic.pop("asdasd","没有这个键")
    print(res)
    

    popitem() 删除最后一个键值对

    dic ={'卢俊义': '玉麒麟', '小李广': '花荣', '智多星': '吴用', '入云龙': '公孙胜', '霹雳火': '秦明'}
    res = dic.popitem()
    print(res)
    #运行结果:
    ('霹雳火', '秦明')
    

    clear() 清空字典

    dic ={'卢俊义': '玉麒麟', '小李广': '花荣', '智多星': '吴用', '入云龙': '公孙胜', '霹雳火': '秦明'}
    res = dic.clear()
    print(dic)
    #删除后返回空字典
    

    update() 批量更新(有该键就更新,没该键就添加)

    #写法一:基于原有字典进行更新  (推荐)
    dic_var = {"a":1,"b":2,"c":3}
    dic_val = {"d":4,"e":5,"f":6}
    dic_var.update(dic_val)
    print(dic_var)
    
    运行结果:
    	{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
        
    #写法二
    dic_var.update(wb = "好人",zyh = "司机")
    print(dictvar)
    
    # get()    通过键获取值(若没有该键可设置默认值,预防报错)
    dic_var = {"a":1,"b":2,"c":3}
    res = dic_var.get("b")
    print(res)
    
    # 设置默认值 为了防止报错,程序异常终止;
    dic_var = {"a":1,"b":2,"c":3}
    res = dic_var.get("d","键不存在")
    print(res)#键不存在
    

    其他操作函数

    1.keys()   将字典的键组成新的可迭代对象
    dic ={'卢俊义': '玉麒麟', '小李广': '花荣', '智多星': '吴用', '入云龙': '公孙胜', '霹雳火': '秦明'}
    res = dic.keys()
    print(res) #dict_keys(['卢俊义', '小李广', '智多星', '入云龙', '霹雳火'])
    
    #默认直接遍历字典,拿的是键
    for i in dic:
      	print(i)
        
    2.values() 将字典中的值组成新的可迭代对象
    res = dic.values()
    print(res,type(res))
    for i in res:
    	print(i)
        
        
    3.items()  将字典的键值对凑成一个个元组,组成新的可迭代对象 
    res = dic.items()
    print(res,type(res))
    
    for i in res:
    	print(i)
    
    # 变量的解包
    for k,v in res:
    	print(k,v)
    
  • 相关阅读:
    java内置数据类型
    docker安装及配置
    redis持久化
    golang linux安装
    TCP/IP协议
    php高并发,大流量
    C语言阐述进程和线程的区别
    python 消息队列-rabbitMQ 和 redis介绍使用
    python 新手题目-文件读写-关键字判断
    python IO模式(多路复用和异步IO深入理解)
  • 原文地址:https://www.cnblogs.com/CrownYP/p/11360544.html
Copyright © 2011-2022 走看看