• 字典类型内置方法


    字典类型内置方法

    一、字典(dict)

    存多个值,但每一个值都有一个key与之对应。例如存的值有姓名:jiayi、年龄:18、身高:173

    1.2 定义方式

    在{}内用逗号分隔多个元素,每个元素都是key:value的形式,value可以是任意数据类型,key通常是字符串类型,但是key必须为不可变类型。

    dic ={'name':jiayi,'age':20,'height':173}
    print(f"dic:{dic}")
    --------------------------------------------------------
    dic:{'name': 'jiayi', 'age': 20, 'height': 173}
    

    1.3 内置方法

    1.3.1优先掌握

    1.按key存取值

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"dic['name']:{dic['name']}")   #可取
    dic['age'] = 18   #可修改
    print(f"dic:{dic})
    ---------------------------------------------------------
    dic['name']:jiayi
    dic:{'name': 'jiayi', 'age': 18, 'height': 173}
    

    2.长度

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"len(dic):{len(dic)}")
    -----------------------------------------------------
    len(dic):3
    

    4.in和not in

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"name in dic:{'name'in dic}")
    print(f"name not in dic:{'name' not in dic}")
    ---------------------------------------------------------
    name in dic:False
    name not in dic:True
    

    5.for循环

    #dic是无序的,但是python3采用了底层优化算法,所以看起来是有序的,但是在python2中的字典是无序的
    dic ={'name':'jiayi','age':20,'height':173}
    for i in dic.items:   #items可以换成keys(),values()
        print(i)
    ------------------------------------------------------
    ('name', 'jiayi')
    ('age', 20)
    ('height', 173)
    

    7.删除:del()/pop()/popitem

    (1)del()

    dic ={'name':'jiayi','age':20,'height':173}
    del dic['name']
    print(f"dic.get('a'):{dic.get('name')}")
    ---------------------------------------------------------
    dic.get('a'):None
    

    (2)pop()

    dic ={'name':'jiayi','age':20,'height':173}
    dic.pop('name')   #指定元素删除
    print(f"dic.pop('age'):{dic.pop('age')}")
    print(f"dic.get('age'):{dic.get('age')}")
    ---------------------------------------------------------
    dic.pop('age'):20
    dic.get('age'):None
    

    (3)popitem

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"dic.popitem('age'):{dic.popitem()}")   #随机返回并删除字典中的一对键和值(一般删除末尾对)
    -----------------------------------------------------------
    dic.popitem('age'):('height', 173)
    

    8.键keys()、值values()、键值对items()

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"dic.keys():{dic.keys()}")
    print(f"dic.values():{dic.values()}")
    print(f"dic.items():{dic.items()}")   #一般和解压缩一起使用
    ------------------------------------------------------------
    dic.keys():dict_keys(['name', 'age', 'height'])
    dic.values():dict_values(['jiayi', 20, 173])
    dic.items():dict_items([('name', 'jiayi'), ('age', 20), ('height', 173)])
    

    1.3.需要掌握

    1.get()

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"dic.get():{dic.get('name')}")   #如果有就返回真的值
    print(f"dic.get():{dic.get('hobby')}")
    print(f"dic.get():{dic.get('hobby','nick')}")  #如果有就返回真的值,也可以设置返回的值
    ----------------------------------------------------
    dic.get():jiayi
    dic.get():None
    dic.get():nick
    

    2.update()

    dic ={'name':'jiayi','age':20,'height':173}
    dic2 = {'hobby':'run'}
    dic.update(dic2)
    print(f"dic.get():{dic}")
    -------------------------------------------------------
    dic.get():{'name': 'jiayi', 'age': 20, 'height': 173, 'hobby': 'run'}
    

    3.fromkeys()

    dic=dict.fromkeys(['name','age','height'],None)   #fromkeys由dict,key来自于容器,值来自于后面定义的value
    print(f"dic:{dic}")
    ---------------------------------------------------------
    dic:{'name': None, 'age': None, 'height': None}
    

    4.setdefault()

    # 有指定key不会改变值;无指定key则改变值
    dic ={'name':'jiayi','age':20,'height':173}
    print(f"dic.setdefault(name):{dic.setdefault('name')}")
    print(f"dic:{dic}")
    print(f"dic.setdefault(hobby):{dic.setdefault('hobby','run')}")
    print(f"dic:{dic}")
    ---------------------------------------------------------
    dic.setdefault(name):jiayi
    dic:{'name': 'jiayi', 'age': 20, 'height': 173}
    dic.setdefault(hobby):run
    dic:{'name': 'jiayi', 'age': 20, 'height': 173, 'hobby': 'run'}
    

    1.4 有一个值还是多个值

    多个值

    1.5 有序(索引)or无序(索引)

    无序

    1.6 可变or不可变

    可变

    dic ={'name':'jiayi','age':20,'height':173}
    print(f"dic:{id(dic)}")
    dic['name'] = 'yanjiayi'
    print(f"dic:{id(dic)}")
    -------------------------------------------------------------
    dic:2213073478280
    dic:2213073478280
    
  • 相关阅读:
    安装并运行Nacos
    为什么浏览器记住密码会影响表单?
    Oracle数据库的函数
    前端axios传递一个包含数组的对象到后台,后台可以用String接收,也可以用List集合接收
    文字链接Link
    DatePicker日期选择器的使用
    前端解决查询慢的问题
    【华为云技术分享】自动驾驶网络系列四:我们谈自动驾驶网络到底在谈什么?
    【华为云技术分享】低代码开发平台发展趋势:低代码——炒作还是趋势?
    【华为云技术分享】【昇腾】ModelArts与Atlas 200 DK云端协同开发——行人检测Demo(提供完整Demo)
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11303075.html
Copyright © 2020-2023  润新知