zoukankan      html  css  js  c++  java
  • 5.Python day05,dict字典

    数据类型划分:可变数据类型,不可变数据类型。
      不可变数据类型:元祖,bool,int,str 可哈希(Hash)
      可变数据类型:list,dict,set 不可哈希
    dict 字典:
      key  必须是不可变数据类型,可哈希。
      value 任意数据类型。
      优点:二分查找法查询,存储大量关系型数据。
      特点:无序的。
    dic = {
         'name':['大猛','小孟'],
         'pys9':[{'num':71,'age':18},
                 {'num':71,'age':18}],
         True:1,
         (1,2,3):'没意义',
         2:'二哥',
    }
    dic = {'name':'许志柱','age':28,'gender':''}

    增:

    dic['high']=175#没有的键值对,添加
    dic['age'] = 18#已有的键,覆盖原来的值。
    
    setdefault()#有键值对,不做任何操作。没有才添加。
    dic.setdefault('weight')
    dic.setdefault('weight',150)
    dic.setdefault('name','许小志')

    删:

    dic = {'name':'许志柱','age':28,'gender':''}
    pop()#按照键删除
    print(dic.pop('age'))#有返回值,返回被删的值
    print(dic.pop('love',None))#可设置返回值。
    
    print(dic.popitem())#随机删除,返回一个元祖,删除的键值。
    
    dic.clear() #清空字典
    
    del dic['name']#没有返回值
    del dic['name1']#如果没有给定键,会报错。所以删除尽量用pop
    
    del dic#在内存里删除整个字典,

    改:

    dic = {'name':'许志柱','age':28,'gender':''}
    dic['age'] = 18
    
    dic2 = {'name':'许小志','sal':5000}
    dic2.update(dic)#把dic更新到dic2,dic与dic2,都有的,就覆盖。没有的,就添加。
    print(dic)#dic不变
    print(dic2)#dic2更新了

    查:

    dic = {'name':'许志柱','age':28,'gender':''}
    print(dic.keys(),type(dic.keys()))#是特殊的字典键类型,但又列表的功能
    print(dic.values(),type(dic.values()))
    print(dic.items(),type(dic.items()))#是元祖,键值
    for i in dic:
         print(i)
    for i in dic:
         print(dic[i])
    for i in dic.keys():
         print(i)
    for i in dic.values():
         print(i)
    a,b = 1,2
    print(a,b)
    a = 1
    b = 2
    a,b = b,a
    print(a,b)#用一行代码互换。
    a,b = [1,2]
    a,b = [1,2],[3,4]
    a,b = (1,2)
    print(a,b)
    dic = {'name':'许志柱','age':28,'gender':''}
    for k,v in dic.items():
         print(k,v)
    v = dic['name']
    print(v)
    v1 = dic['nameee']#没有这个键,会报错。
    print(v1)
    print(dic.get('name1','没有这个键'))#用键获取值,可以存入没有的返回值。默认为None
    print(dic.get('name'))

    dict字典嵌套:

    dic ={
        'name':['alex','wusir','taibai'],
        'pys9':{
            'time':'1213',
            'learn_money':19800,
            'addr':'CBD',
        },
        'age':18
    }
    dic['age'] = 58;
    dic['name'].append('日天')
    dic['name'][1] = dic['name'][1].upper()
    dic['pys9']['female'] = 6
    print(dic)
     
  • 相关阅读:
    图片采集
    资源(先备着)
    Memories of Vladimir Arnold 摘录
    Tribute to Vladimir Arnold 摘录
    Textbooks, Testing, Training: How We Discourage Thinking 笔记
    每天都有杰出数学家去世?(挖坑)
    I'm angry——人教B版选修2-3上的一个错误
    How to Study as a Mathematics Major 的笔记
    读《桑榆忆往》做的一点笔记
    《近代欧氏几何学》笔记
  • 原文地址:https://www.cnblogs.com/xxiaozhi/p/10000403.html
Copyright © 2011-2022 走看看