zoukankan      html  css  js  c++  java
  • python_dict字典的增删改查

    #coding=utf-8

    '''
    数据类型划分: 可变数据类型 , 不可变数据类型
    不可更改数据类型: 元祖,bool,str,int 可哈希
    可变数据类型 :list ,dict, 不可哈希
    dict key 必须是不可变数据类型 可哈希
    value 任意数据类型
    dict 优势:
    二分查找去查询
    储存大量的关系数据
    dict特点:
    它是无序的(3.5-3.5之前)
    '''
     dic ={
         'name':['打蒙','小梦'],
         'py9':[{'num':71,'age_avg':18}],
         True : 1,
        (1,2,3):'wuyiqi',
         2:'TWO',
     }
    print(dic)
    
    
    # 增
    dic1  = {'name':'shuai','age':19,'sex':'man'}
    dic1['height']=185   #没有键值对,添加
    dic1['age'] = 16    #有这个键就覆盖
    dic1.setdefault('weght',150)  # 有键值对,不做任何改变,没有才添加
    # 删除
    dic1.pop('age')  #有返回值,按键去删除
    dic1.pop('age','没有此键')  #有返回值,按键去删除,可设置返回值
    dic1.popitem()#随机删除,3.6默认从最后一个删除,返回元祖形式
    # dic1.clear() 清空
    # del dic1 删除
    #改  update
    dic2={'like':'pingpang'}
    dic2.update(dic1)  #有就覆盖,没有就更新进去
    print(dic1)
    print(dic2)
    # 查.
    print(dic1.keys())
    print(dic1.values())
    print(dic1.items())
    '''
    dict_keys(['name', 'sex', 'height']) 键
    dict_values(['shuai', 'man', 185])  值
    dict_items([('name', 'shuai'), ('sex', 'man'), ('height', 185)])列表元祖
    '''
    for i in dic1.keys():
        print(i)
    for j in dic1.values():
        print(j)
    for c,v in dic1.items():
        print(c,v)下面就是结果,一一对应
    '''
    name shuai
    sex man
    height 185
    '''
    v1 = dic1['name']
    print(v1)

    #get 查询是否存在键
    v2=dic1.get('name1','meiy')#有返回值,可自定义
    print(v2)

    特别注意:

    get ,,  pop  兼有返回值,可在查询之时,判断是否存在此键.

  • 相关阅读:
    如何用Tensorflow训练模型成pb文件和和如何加载已经训练好的模型文件
    hbase rowkey 设计
    hbase集群region数量和大小的影响
    为什么不建议在hbase中使用过多的列簇
    hive explode 行拆列
    通过livy向CDH集群的spark提交任务
    case when多条件
    spark sql/hive小文件问题
    SQL join
    spark任务调度模式,动态资源分配
  • 原文地址:https://www.cnblogs.com/wxzbk/p/9541165.html
Copyright © 2011-2022 走看看