• python数据类型之字典类型-dict


    1.dict-基本使用

    1.用途:用来存多个值,单每一个值都有一个key与之对应,
    key对值有描述性的功能,存储多个值表示的不同不同状态
    2.定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式
                  value可以是任意数据类型,

                  但是key必须为不可变类型, key通常应该是字符串类型
    d={'x':1,'y':2} #d=dict({'x':1,'y':2})
    # d=dict(a=1,b=2,c=3)
    print(d)

    dic={[1,2,3]:'a'} 直接报错         key不能是列表    字典的key是不可以变类型
    dic={{'x':1}:'a'} 直接报错

    3.常用操作+内置的方法
    1.按key存取值:可存可取
    d={'x':1,'y':2}                      不能赋值,通过key修改,可以增加
    d['x']=100
    print(d)                              key不存在是,会报错
    d['z']=3

    print(d)

    2. 长度len
    d={'x':1,'y':2}
    print(len(d))

    3、成员运算in和not in
    d={'x':1,'y':2}
    print('x' in d)

    4.删除 del pop popitem
    d={’x':1,‘y':2} del直接删除
    del d['x']

    l={'a':1,'b':2}
    se=
    l.pop('a') 根据key删除
    print(l)
    print(se)

    # res=d.popitem() 随机删除
    popitem # print(d)
    # print(res)


    5、键keys(),值values(),键值对items()key和value都取出
    keys=msg_dic.keys()                  keys后是一个整体
    print(keys)
    for k in keys:
    print(k)
    print(list(keys)                              通过列表转换方式取出

    vals=msg_dic.values()                    同上
    # print(vals)
    # print(list(vals))

    # for k,v in msg_dic.items(): #k,v=('apple', 10) items取出key,和值两个

    # print(k,v)

    6、循环
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }
    # 只取key
    # for k in msg_dic:
    # print(k,msg_dic[k])

    # for k in msg_dic.keys():
    # print(k,msg_dic[k])

    # 只取value
    # for v in msg_dic.values():
    # print(v)

    #取key和value
    # for k,v in msg_dic.items(): #k,v=('apple', 10) items取出key,和值两个
    # print(k,v)


    7. 查看get
    d={'x':1,'y':2,'z':3}
    # v=d.get('xxxx')              key不存在 提示none
    # print(v)
    d['xxx']=100

    print(d)                            key不存在是,会报错

    8.update
    # d={'x':1,'y':2,'z':3}
    # d1={'a':1,'x':1111111}              更新字典
    # d.update(d1)
    # print(d)

    9.fromkeys 生成一个初始字典 值是None
    l=['name','age','sex']
    d=dict.fromkeys(l,None)
    print(d)


    10.setdefault 向字典里面加值,有key的话返回原值,没有直接加

    info={'name':'egon','age':18,'sex':'male'}

    # 如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value
    # res=info.setdefault('name',’pwd')          有返回值
    # print(info)
    # print(res)

    # 如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value
    # info.setdefault('height',1.80)                    返回一个新赋值
    # print(info)

    # info={'age':18,'sex':'male'}
    # v=info.setdefault('name','浩哥')
    # print(v)



    s='hello alex alex say hello sb sb' 用字典统计同名出现的次数
    l=s.split()
    print(l)
    d={}
    # d={'hello':2,'alex':2}
    for word in l: #word='alex'
    1 # d[word]=l.count(word) #d['alex']=2 每个都赋值
    2 d.setdefault(word,l.count(word)) 赋值过的

    print(d)

    二:该类型总结
         1 存一个值or存多个值
             可以存多个值,值都可以是任意类型,而key必须是不可变类型,通常应该是不可变类型中字符串类型

         2 有序or无序

             无序

         3 可变or不可变
                    可变
        d={'x':1,'y':2}
         print(id(d))
         d['x']=1111
         print(id(d))


     

  • 相关阅读:
    Linux常用性能检测命令
    Linux环境下获取网卡连接状态
    posix多线程有感线程高级编程(均衡负载CPU绑定)
    posix多线程有感线程高级编程(线程调度以及优先级设置)
    posix多线程有感线程高级编程(线程和fork,exec)
    posix多线程有感线程高级编程(进程的优先级)
    linux多线程和锁
    posix多线程有感—sysconf系统变量
    posix多线程有感线程高级编程(线程堆栈)
    Linux基本网络设置(IP配置等,网卡驱动缓存,网卡中断)
  • 原文地址:https://www.cnblogs.com/Marcki/p/10111973.html
Copyright © 2020-2023  润新知