zoukankan      html  css  js  c++  java
  • python --字典基本用法

    1:基本概念:

    1) 字典dict ,是键值对的形式,每一个key映射一个value(映射就是关联的意思)

    2) 字典是无序的,可变类型,并且key(键)是唯一的

    3)可以储存一个对象的多种信息,这句话翻译过来就是: 一个key可以映射多个值

    2:字典的创建

    2.1 直接创建

    eg:  dict = {"key1": "value", "key2": "value2", "key3": "value3"} 

    2.2 列表和元素表达式:

    1) 元祖类型创建:

    dict(元祖)

    eg: tuple = ((key1,value1),(key2,value2),(key3,value3))

    dict(tuple)

    元祖里面嵌套元祖一个key-value形式的元祖对后,就可以通过dict(元祖) == 转换成字典

    2) 列表类型创建

    dict(list)

    道理都是一样的:举个栗子:

    list = [[key1:value1],[key2:value2],[key3,value3]]

    dict(list)

    由上面的栗子看的出来:元祖里面嵌套元祖,列表里面嵌套列表

    3) 还有就是用等号的形式表达:见得比较少

    dict4 = dict(key1=value1, key2=value2, key3=value3)

    4) : fromkeys(参数A,参数B)

    举个栗子:员工A,B,C的工资都是3000元,怎么表达

    gongzi_dict = {}.fromkeys(('员工A','员工B','员工C'), 3000)

    其实这也是k-v的表达式:可以把('员工A','员工B','员工C')看成一个D 转换过来

    就是gongzi_dict = {}.fromkeys(D, 3000)

    4:我们知道字典是无需的,怎么去对字典进行排序尼 -- 目前是不可能的哈

    举个栗子:sorted()排序

    dict1 = {'E': 'value1', 'C': 'value2', 'A': 'value3', 'B': 'value4'}

    a = sroted(dict1)

    print(a)

    输出:['A', 'B', 'C', 'E']

    从上面这个栗子就能看出来:

    它会对我们字典里面的项进行排序,我们得到项就可以用列表循环去和字典一起使用。

    5:字典的一些常用方法:

    初始化一个空字典 dict1 = {}

    增:

    dict1["key1"] = value1 

    dict1["key2"] = value2

    ......

    删:

    1) clear() 清除方法,清除字典中的所有项,返回None

    2)pop()弹出方法,弹出的值可以用变量接受,

    3)popitem() 随机弹出字典中的一个项

    改:和增一样,只需要改变value就可以了。

    查:

    获取value

    1) dict.get(key) 

    2)setdefault() 方法:和获取属性的attr有点相同

    看下栗子:这个方法既可以用来获取值也可用来作为添加方法

     

    访问:

    dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

    print(dict1["key1"]) 根据对应的键就可以访问到对应的值

    复制:

    copy(): 浅复制,对复制的新dict操作,会影响原字典。

    deepcopy()  完全复制,对复制的新dict操作,不会影响原字典

     

    打印:返回一个列表

    a) keys: 打印所有key

    举个栗子:

    dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

    dict1.keys

    返回  ==》['key1', 'key2', 'key3']

    b) values:打印所有value

    c) items(): 打印所有项

  • 相关阅读:
    路由器安全-FPM
    网络基础设施保护和局域网安全
    DMVPN基础配置
    IPSec的链路和设备备份
    IPSec的高可用性技术
    关于Mobility Express转LAP注意事项
    实际中可能遇到的NAT问题(IPsec)
    NAT-T和PAT(IPSec)
    加密设备NAT对IPSec的影响
    影响IPSec的网络问题
  • 原文地址:https://www.cnblogs.com/haibaiwuchang/p/12396751.html
Copyright © 2011-2022 走看看