zoukankan      html  css  js  c++  java
  • 字典

    1.作用:记录一组数据

    2.定义:{}内用逗号分隔开多个key:value,其中value可以使任意类型,但是key必须是不可变类型,且不能重复

    2.1新建一个字典的四种方式

    #方式一:
    d={'k1':111,(1,2,3):222} # d=dict(...)
    print(d['k1'])
    print(d[(1,2,3)])
    print(type(d))

    #方式二:
    d=dict(x=1,y=2,z=3)
    print(d,type(d))

    #方式三:
    info=[
    ['name','egon'],
    ('age',18),
    ['gender','male']
    ]
    # res=dict(info) 
    print(res)

    #方式四:快速初始化一个字典
    keys=['name','age','gender']
    d={}
    d={}.fromkeys(keys,None)
    print(d)

    内置方法

    1.按key取值:可存可取
    若key存在可以修改
    若key不存在可以创建新的key:value

    2.len()
    有几个key就有多长
    ps:相同的key只取最后一个
    d={'k1':111,'k2':2222,'k1':3333,'k1':4444}
    len(d)
    #2

    成员运算符(in/not in)

    ps:根据key来判断
    d={'k1':111,'k2':2222}
    print('k1' in d) #True
    print(111 in d) #False

    删除

    4.1 del删除
    通过key来删除一对key:value
    d={'k1':111,'k2':2222}
    del d['k1']
    print(d)
    #{'k2': 2222}
    4.2 pop删除
    根据key删除元素,返回删除key对应的那个value值
    d={'k1':111,'k2':2222}
    res=d.pop('k2')
    print(d) #{'k1': 111}
    print(res) #2222
    4.3 popitem删除
    随机删除,返回元组
    d={'k1':111,'k2':2222}
    res=d.popitem()
    print(d) #{'k1': 111}
    print(res) #('k2', 2222)

    5.键keys(),值values(),键值对items()  =>在python3中得到的是老母鸡

    d={'k1':111,'k2':2222}
    在python2中
    >>> d={'k1':111,'k2':2222}
    >>> 
    >>> d.keys()
    ['k2', 'k1']
    >>> d.values()
    [2222, 111]
    >>> d.items()
    [('k2', 2222), ('k1', 111)]
    >>> dict(d.items())
    {'k2': 2222, 'k1': 111}

    循环

    for k in d.keys():
        print(k)
    
    for k in d:
        print(k)
    
    for v in d.values():
        print(v)
    
    for k,v in d.items():
        print(k,v)

    print(list(d.keys()))
    print(list(d.values()))
    print(list(d.items()))

    需要掌握的内置方法

    7.1 clear()清除

    d={'k1':111}
    d.clear()
    print(d) #{}

    7.2 pdate()更新字典

    ps:更新列表,可以添加列表没有的内容,可以替换已有的内容的值

    d={'k1':111}
    d.update({'k2':222,'k3':333,'k1':111111111111111})
    print(d)     #{'k1': 111111111111111, 'k2': 222, 'k3': 333}

    7.3 get() 根据key取值 若值不存在也不会报错 返回None

    d={'k1':111}
    print(d['k2'])  # key不存在则报错

    print(d.get('k1')) # 111
    print(d.get('k2')) # key不存在不报错,返回None

    7.4. d.setdefault()

    如果key有则不添加,返回字典中key对应的值

    info={'name':'egon'}
    res=info.setdefault('name','egon')
    print(info)
    print(res)
    
    {'name': 'egon'}
    egon

    如果key没有则添加,返回字典中key对应的值

    info={}
    res=info.setdefault('name','egon')
    print(info)
    print(res)
    
    {'name': 'egon'}
    egon

  • 相关阅读:
    冲刺进度条03
    冲刺进度条02
    冲刺进度条01
    第二阶段团队冲刺(九)
    第二阶段团队冲刺(八)
    第二阶段团队冲刺(七)
    用户体验评价
    第二阶段团队冲刺(六)
    程序员修炼之道:从小工到专家阅读笔记01
    2019春季学期进度报告(十三)
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12465286.html
Copyright © 2011-2022 走看看