zoukankan      html  css  js  c++  java
  • 字典dict

    一.定义
    info = {
    'k1':12, #由键值对组成
    'k2':'v2'
    }
    --字典的value可以是任意值
    --列表 字典不能作为key(因为key不能转化为哈希值)
    -- 字典是无顺序的
    二.常用方法
    1.可以进行索引取值(通过索引取值有弊端,如果没有这个key会报错,一般使用get)
    v= info['k1']
    print(v)
    ***一般使用get取值下面有解释
    ****索引赋值
    info={}
    info['k1']=[11,]
    2.支持del 删除
    info = {
    'k1':12,
    'k2':'v2'
    }
    del info['k1']
    print(info)
    3.关于循环取值
    --默认循环打印键值
    for item in info:
    print(item)
    结果:
    k1
    k2
    --使用info.values()取值
    1   info = {
    2     'k1':12,
    3     'k2':'v2',
    4     (1,'g',):'dg',
    5     5:'gfhgh'
    6    }
    7    for item in info.values():
    8        print(item)
       结果:
    12
    v2
    dg
    gfhgh
    --也可以使用info.keys()取key值
    1  info = {
    2     'k1':12,
    3     'k2':'v2',
    4     (1,'g',):'dg',
    5     5:'gfhgh'
    6     }
    7     for item in info.keys():
    8         print(item,info[item])
    --同时取key和value使用info.items()

    info = {
        'k1':12,
    'k2':'v2',
    (1,'g',):'dg',
    5:'gfhgh'
    }
    for k,v in info.items():
    print(k,v)
    4.字典的KEY不能重复,否则随机取一个值
    例如Ture和1不能同时存在,虽然在判断中除0之外数字都为Ture,但在内存中默认Ture为1。

     1  info = {
     2     'k1':12,
     3     'k2':'v2',
     4     (1,'g',):'dg',
     5     1:'gfhgh',
     6     True:555
     7 
     8    }
     9    for item in info.keys():
    10        print(item,info[item])

    结果为:
        k1 12
    k2 v2
    (1, 'g') dg
    1 555


    三.提供字典调用的方法
    1.fromkeys根据序列创建字典,指定统一的
    v = dict.fromkeys([4,5,6,7],'hyu')
    print(v)

    **2.用get取值,根据key取值key不存在时,返回默认值None


    info = {

    'k1':12,
    'k2':'v2',
    (1,'g',):'dg',
    1:'gfhgh',
    True:555
    }
    print(info.get('k2'))

    info = {
    'k1':12,
    'k2':'v2',
    (1,'g',):'dg',
    5:'gfhgh',
    True:555
    }
    v = info.pop(1)
    print(info,v)

    4.popitem 随机删去最后一对并获取键值对
    info = {
    'k1':12,
    'k2':'v2',
    (1,'g',):'dg',
    5:'gfhgh',

    }
    k,v = info.popitem()
    print(info)
    print(k,v)

    5.setdefault 设置值 如果已经存在,不设置获取当前KEY对应值
    设置值 如果不存在,获得设置后的值
    info = {
    'k1':12,
    'k2':'v2',
    (1,'g',):'dg',
    5:'gfhgh',
    }
    v = info.setdefault('k1',5)
    print(info,v)


    6.update 更新字典键值对,两种方式
    info.update({'k1':5,'k2':55,8:'ff'})
    info.update(h=5,j=55,l=555)
    全面发展
  • 相关阅读:
    Java对象的生命周期与作用域的讨论(转)
    [置顶] Oracle学习路线与方法
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
  • 原文地址:https://www.cnblogs.com/snowony/p/11650331.html
Copyright © 2011-2022 走看看