zoukankan      html  css  js  c++  java
  • Python学习笔记(七)—字典的学习

    总结内容:

      1、字典的定义

      2、字典的好处

      3、字典的增删改查

      4、字典常用方法及内置函数

      5、字典的多层嵌套

      6、字典的循环

      7、字典小练习


    1、字典的定义

    字典是另一种可变容器模型,且可存储任意类型对象。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }

    2、字典的好处:

    1、取数据方便,知道key的值就能将value的值取到

    2、速度快

    键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    例如:

    dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

    3、字典的增删改查

    3.1、字典查询:

    1、get方法

     

    如果key 不存在,在取不到key的值的情况下,则显示为null

     

    如果key的值不存在,但是设置了默认值,那么在取不到值时显示默认值:

     

    2、[ ]方式取值

     

    注意:如果用[]方式取值的话,如果key不存在则会报错

    3.2、字典增加:

    方式一:[ ]方式,在key 存在的情况下可以覆盖原字典中的值,在key不存在的情况下直接添加该值

     

    注意:字典是无序的,所以输出的数据不一定是按有序的顺序输出

    方式二:setdefault方法,在key存在的情况下不能修改原字典中的值

    info.setdefault('addr','55555')

     

    3.3、字典的修改:

    使用[]方式修改字典的value值

     

    update方式可以将两个字典进行合并操作

    dict1 = {'name':'test'}
    print(dict1)
    dict2 = {'age':19}
    dict1.update(dict2)
    print(dict1)
    
    运行结果:
    {'name': 'test'}
    {'name': 'test', 'age': 19}

    3.4、字典的删除:

    方式一:

    pop方式:指定key删除

     

    方式二:

    popitem:随机删除一个key

    方式三:

    del :指定key来删除

     

    方式四:

    clear方式:清空字典

     


    4、字典常用方法及内置函数:

    values:输出字典中values的值

    keys:输出字典所有的key的值

    items:输出子典中所有的key:values值

     

    Python内置方法:

    函数及描述

    1

    radiansdict.clear()
    删除字典内所有元素

    2

    radiansdict.copy()
    返回一个字典的浅复制

    3

    radiansdict.fromkeys()
    创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

    4

    radiansdict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值

    5

    key in dict
    如果键在字典dict里返回true,否则返回false

    6

    radiansdict.items()
    以列表返回可遍历的(键, 值) 元组数组

    7

    radiansdict.keys()
    以列表返回一个字典所有的键

    8

    radiansdict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

    9

    radiansdict.update(dict2)
    把字典dict2的键/值对更新到dict里

    10

    radiansdict.values()
    以列表返回字典中的所有值

    11

    pop(key[,default])
    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

    12

    popitem()
    随机返回并删除字典中的一对键和值(一般删除末尾对)。

    Python字典包含了以下内置函数:

    序号

    函数及描述

    实例

    1

    len(dict)
    计算字典元素个数,即键的总数。

    >>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

    >>> len(dict)

    3

    2

    str(dict)
    输出字典,以可打印的字符串表示。

    >>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

    >>> str(dict)

    "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

    3

    type(variable)
    返回输入的变量类型,如果变量是字典就返回字典类型。

    >>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

    >>> type(dict)

    <class 'dict'>


    5、多层嵌套:

     

    实例:

    多次嵌套数据的查询:

     

    多次嵌套修改数据

     

    多次嵌套添加数据:

     


    6、字典的循环操作

    直接循环字典打印的是字段的key值:

     

    同时取到key:values的循环方式,需要使用items方法:

     

    注意:字典里面用in来判断的话直说判断key的值,value的值是不进行判断的


    7、字典小练习

    users = {
        'test0':'123456',
        'test1':'456789',
    }
    #所有的账号和密码
    # username
    # pwd
    # cpwd
    # print( '123456' in users )   #字典里面用in来判断的话,只是判断key是否存在
    for i in range(3):
        username = input('账号:').strip()
        passwd = input('密码:').strip()
        cpasswd = input('密码确定:').strip()
        if username=='' or passwd=='' or cpasswd=='':
            print('用户名/密码不能为空')
        elif username in users:
            print('用户名已经被注册!')
        elif passwd!=cpasswd:
            print('两次输入的密码不一致')
        else:
            print('恭喜,注册成功!')
            # users.setdefault(username,passwd)
            users[username]=passwd
            break
    else:
        print('错误次数过多')
    print(users)
  • 相关阅读:
    CxfInvokeUtil
    springboot+webservice(cxf和jax-ws两种方式)
    cxf 工具类转载
    Java动态调用Webservice,不生成客户端,基于soapUI
    转载 CXF动态调用webservice
    spring gzip 静态压缩优化
    sql server2008登录出错怎么整
    配置opencv时计算机显示丢失opencv_world300d.dll如何解决
    随记
    多态与异常处理(课后作业)
  • 原文地址:https://www.cnblogs.com/beginner-boy/p/8647392.html
Copyright © 2011-2022 走看看