zoukankan      html  css  js  c++  java
  • 字典的学习

    字典存在的必要?????????

    字典的定义 a={}

    字典是底层哈希存储的不用从头遍历查,找速度很快,字典是无序的

    使用角度字典是描述的数据结构,“name”:"root" 使用上有描述性好存储

     字典的特性

    字典的key不能重复 添加有重复会覆盖 

    字典的定义a={} 可以这样,但是元祖不能这样定义 

    字典的数据类型的key 99%的都是字符串 和整型

    value是任意数据类型 

    字典的取值是一行一行的取 

    怎么简单通过key去取value????? 记住要加引号 

    b={"ces":"12345",'ces1':'123456'}
    print(b["ces"])
    print(b['ces1'])
    print(b.get("ces")) 这种取值,取不到不会报错 返回一个默认值none 
    修改值
    b["ces"]='2112' 已经存在就覆盖,没有就新增

    for key in b.keys():  b.keys()就是类列表对象,列表特征他都有但他不是一个真正的List 

    想用索引就可以强转List
    for key,va in b.items(): 两个变量接收循到的key 和value  
    a={'刘德华' : 367,  '张学友': 247 ,  '李小璐': 50,  '刘老师': 1280}
    单字典取value得和的写法
    count=0    第一种写法 
    for i in a.values():
    count+=i
    print(count)
    第二种写法 
    print(sum(a.valaus()))

    取字典套集合的数据整合,这种类型的
    b={'技术部' : (367, 500, 45),  '人力资源部': (247, 368, 1280),  '财务部': (87, 100, 24, 50)}
    count=0
    for v in b.values():
    count=count+sum(v)
    print(count)
    
    
    a={'刘德华' : 367,  '张学友': 247 ,  '李小璐': 50,'刘老师': 1280,'贾乃亮': 760}
    print('刘德华' in a ) 注意in 就是默认判断key在不在

    values重复的概率很大
    a.get 和a.pop 区别 都弹出来一个是查一个是删除key
    怎么更新字典的key ????????
    pop取值并删除
    del a['刘德华'] 这个也是删除
    a['张三']=a.pop('刘德华')  实际上是先删除在增加  也叫用一行代码写出字典的更新和删除 

    del语句

    del语句可以删除任何位置处的列表元素, 若知道某元素在列表中的位置则可使用del语句.

    pop()可删除任意位置的元素并将其返回, 只需在括号内指定要删除元素的索引即可, 当括号内为空时则删除该列表最后一个元素并将其返回.

    remove()方法可根据值删除元素, 若不知所要删除元素在列表中的位置时可用remove()删除, 需要注意的是remove()所删除的元素是列表中第一个配对的值

     两个字典的update   意思两个字典合成一个字典 

    注意如果b里存在和a出一样了把值更新替换成a的  字典不能a+b 和a*b 操作

    a={'刘德华' : 367,  '张学友': 247 ,  '李小璐': 50,'刘老师': 1280,'贾乃亮': 760}
    b={'本科':'没过'}
    a.update(b)
    print(a)

    快速构造字典的方法
    a={'刘德华' : 367,  '张学友': 247 ,  '李小璐': 50,'刘老师': 1280,'贾乃亮': 760}
    cc={}.fromkeys(a)
    print(cc)
    a={'刘德华' : 367,  '张学友': 247 ,  '李小璐': 50,'刘老师': 1280,'贾乃亮': 760}
    cc={}.fromkeys(a,0)
    print(cc)
    如果有两个key 会自动去掉重复的,
    列表去重的三种方法
    第一种方法
    找一个新列表,发现不重复的往里面扔
    第二种方法
    把他强转成set 在转成List
    第三种
    先转成字典然后在转成list
    a={'刘德华' : 367,  '张学友': 247 ,  '李小璐': 50,'刘老师': 1280,'贾乃亮': 760}
    b=list({}.fromkeys(a).keys())
    print(b)
    a=[{
    "from":{"x":39.123, "y":40.234},
    "to": {"x":39.123, "y":40.234}}]
    jj={}
    for key,value in a[0].items():
    tmp=[]
    for i in value.values():
    tmp.append(str(i))
    jj[key]=','.join(tmp)
    print([jj])#要是套列表这么套


  • 相关阅读:
    使用WinDbg调试SQL Server——入门
    SQL Server里如何随机记录集
    相关列的基数计算
    自增长的聚集键值不会扩展(scale)
    使用正确的筛选参数来提高查询性能
    可更新聚集列存储索引幻想
    在SQL Server 2014里可更新的列存储索引 (Updateable Column Store Indexes)
    SQL Server 2014里的IO资源调控器
    SQL Server 2014里的针对基数估计的新设计(New Design for Cardinality Estimation)
    缓存池扩展 (Buffer Pool Extension)实践
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14955096.html
Copyright © 2011-2022 走看看