• python 字典的增删改查


    字典

    # 1.存储数据比较大
    # 2.字典的查找速度比列表快
    # 3.字典都是通过键来操作的,且键必须是唯一的。
    # 4.# dic = {"键":"值","key":"value"}
    

    字典的增删改查

    字典增:
    dic = {}
    dic["键"]= 值  添加键值对
    
    dic = {}
    dic.setdefault("键",值) 有则更改,无则添加
    
    字典删:
    dic = {"111":[2,3,4],"222":[567]}
    dic.pop("键") 通过键指定删除
    
    dic = {"111":[2,3,4],"222":[567]}
    dic.popitem() 随机删除键值对
    
    dic = {"111":[2,3,4],"222":[567]}
    del dic["111"] 指定删除键值对
    
    dic = {"111":[2,3,4],"222":[567]}
    dic.clear 删除整个字典
    
    字典改:
    dic = {"111":[2,3,4],"222":[567]}
    dic[键] = 值  通过键修改值
    
    字典查:
    dic = {"111":[2,3,4],"222":[567]}
    print(dic["111"]) 通过找键查询
    

    大题示例:

    要求得到的结果:{"河南":3,"河北":2,"北京":1,"内蒙":1}
    id = [120121198903119561,
          120121198903110561,
          120121196903119561,
          130482198307144762,
          130482198307144662,
          110121197805144347,
          150121197502122799]
    addrs = {
        120: "河南",
        130: "河北",
        110: "北京",
        150: "内蒙",
    }
    -----------------------------------------------------------------------------------------
    答:
    id = [120121198903119561,
          120121198903110561,
          120121196903119561,
          130482198307144762,
          130482198307144662,
          110121197805144347,
          150121197502122799]
    addrs = {
        120: "河南",
        130: "河北",
        110: "北京",
        150: "内蒙",
        
    dic = {}  #创建一个空的字典
    for i in id:    循环id这个列表
    	if dic.get(addrs.get(int(str(i)[0:3]))): 通过对i的切片拿到前三位做addrs的键,但是整数不支持切片需要str转换一下,切完后还要转回到整数做键,if判断dic这个字典中是否有这个值。
    		dic[addrs.get(int(str(i)[0:3]))] += 1  如果这个字典中有就加一
    	else:
    		dic[addrs.get(int(str(i)[0:3]))] = 1   如果这个字典没有就创建1个,默认数为1.
    print(dic)
    
    字符串转字典
    
    dic = {}
    s = "{'key1':1,'key2':2,'key3':3}"
    f = open("demo","a+",encoding="utf-8")
    f.write(s)
    f.seek(0)
    f1 = f.read()
    lst = f1[1:-1].replace("'","").split(",")
    for i in lst:
        k,v = i.split(":")
        dic[k] = v
    print(dic,type(dic))
    
    
    
    
  • 相关阅读:
    cocos2dx 将cocosbuilder输出文件映射成对象的原理
    网络游戏剧情副本的一种实现方式(上)
    2D游戏中的碰撞检测
    es学习笔记2:php版本es包
    go语法:参数传递
    go语法专题:信号量,iota,锁原理
    https协议原理与实现(整理中)
    我眼中的幸福
    戏剧的一天
    开通了
  • 原文地址:https://www.cnblogs.com/biyunfeng/p/11934575.html
Copyright © 2020-2023  润新知