zoukankan      html  css  js  c++  java
  • Python基本序列-字典

    Python 基本序列-字典

    字典(dict)是"键-值 对"的无序可变序列,字典中的每个元素包含两部分,"键"和"值"。

    字典中的"键"可以是Python中任意不可变的数据,但不能使用列表集合字典作为键,因为这些对象是可变的。

    字典中的键不允许重复。

    字典作为序列的一种,同样具有以下几个用法

    • key in dict:检查dict中是否包含为k的项
    • len(d):返回d(字典对象)中项的数量;

    但是也有些许不同

    • 字典键的类型更丰富(任何不可变数据)
    • 修改key对应的value,若key不存在,则直接创建
    • key in dict 是根据“键”来判断是否在字典中,而不是值,也不是键值对

    字典的创建:

    1.直接创建

    t = { "a" : 1, "b": 2 }

    2.利用dict函数创建

    # 第一种形式
    d = dict (name = "dong", age = 37) # 注意这个地方键的字符串类型没加引号
    print(d)
    # 输出 {'age':37,'name':'dong'}
    
    # 第二种形式 搭配zip函数 将列表生成的元祖打包成字典
    keys = ['a' , 'b' , 'c']
    values = [1 , 2 , 3]
    tuple_t = zip(keys, values)
    print(tuple_t)
    # 输出 (['a' , 'b' , 'c'], [1 , 2 , 3])
    d = dict (tuple_t)
    print(d)
    # 输出 {'a' : 1 , 'b' : 2 , 'c' : 3}

     字典的读取:

    1.直接读取

     

    dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
    print(dict_t[a])
    # 输出 1

     

    这种访问方式比较直接,但是不安全。如果指定的"键"不存在,则会抛出异常

    2.利用get()函数间接读取

    使用get()函数获取指定“键”对应的值,并且在“键”不存在时返回指定值,如果没有指定值,则默认返回None

    dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
    print(dict_t.get('a'))
    # 输出 1
    print(dict_t.get('d'))
    # 输出 None
    print(dict_t.get('d', 'NOT FOUND'))
    # 输出 'NOT FOUND'

    3.利用items()方法返回一个字典的“键-值 对”列表(iteritems返回一个迭代器对象)

    dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
    for i in dict_t.items():
        print(i)
    # 输出 ('a', 1)
    #      ('b', 2)
    #      ('c', 3)

    同样,也可以利用keys(),values()分别返回两个键和值的列表进行访问(iterkeys() , itervalues()都返回一个迭代器对象,而不是列表)

    4.利用pop()返回并删除一个指定"键"元素

    dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
    t = dict_t.pop('c')
    # 输出 3
    print(t)
    # 输出 {'a': 1, 'b': 2}
    print(dict_t)

    5.利用popitem()随机返回并删除一个元素

    字典元素的修改与删除:

    1.直接根据"键"来修改,若字典中该"键"不存在,则创建一个新的"键-值 对"

     

    dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
    print(dict_t)
    dict_t['d']=4
    print(dict_t)
    # 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

     

    2.利用update(dict),将另一个字典的"键-值 对"一次性加到当前字典对象

    dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
    t = {'d':4}
    dict_t.update(t)
    print(dict_t)
    # 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

    3.利用del()删除一个指定"键"元素

     

     

  • 相关阅读:
    LINQ to XML一些基本查询
    系统二级域名配置说明
    分布式文件系统部署Hadoop【转载】
    5 ways to instantly appear more confident
    hadoop Namenode和DataNode架构分析
    Employee burnout: Around the corner? Already here?
    阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
    eclipse web项目 分多个源文件目录
    配置VS2008本地调试.NETFRAMEWORK源代码
    Google搜索指令大全
  • 原文地址:https://www.cnblogs.com/woxiaosade/p/10030488.html
Copyright © 2011-2022 走看看