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)
     
  • 相关阅读:
    齐次坐标的理解
    BLEU (Bilingual Evaluation Understudy)
    tensorflow由于未初始化变量所导致的错误
    Beam Search(集束搜索/束搜索)
    nltk 的分词器punkt: ssl问题无法下载
    文件读写方式的对比
    import tensorflow 报错: tf.estimator package not installed.
    条件式变分自编码机(Conditional Variational Autoencoders)
    GoogLeNet 解读
    卷积的三种模式:full, same, valid
  • 原文地址:https://www.cnblogs.com/xxiaozhi/p/10000403.html
Copyright © 2011-2022 走看看