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()删除一个指定"键"元素

     

     

  • 相关阅读:
    POJ 3114 Tarjan+Dijkstra
    278. First Bad Version
    209. Minimum Size Subarray Sum
    154. Find Minimum in Rotated Sorted Array II
    153. Find Minimum in Rotated Sorted Array
    710. Random Pick with Blacklist
    767. Reorganize String
    524. Longest Word in Dictionary through Deleting
    349. Intersection of Two Arrays
    350. Intersection of Two Arrays II
  • 原文地址:https://www.cnblogs.com/woxiaosade/p/10030488.html
Copyright © 2011-2022 走看看