• 数据类型所有方法和使用整理之------字典


    print(dir(dict))
    
    'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'

    1.增加

    s = {'A': 'a', 'B': 'b'}
    s['C']='c'
    print(s)

    fromkeys()  使用给定的键建立新的字典,键默认对应的值为None

    s = dict.fromkeys('A','B')
    print(s)
    
    {'A','B'}

    或者指定默认的对应值

    s= dict.fromkeys([1,2,3],'u')
    print(s)
    
    {1: 'u', 2: 'u', 3: 'u'}

    2.删除

    1.clear()  清除字典中的所有项

    s = {'A': 'a', 'B': 'b'}
    s.clear()
    print(s)
    
    
    {}

    2.pop()  删除指定的KEY和他的值

    s = {'A': 'a', 'B': 'b'}
    s.pop('A')
    print(s)
    
    { 'B': 'b'}

    3. popitme()  随机删除一个KEY和他的值

    s= dict.fromkeys([1,2,3],'u')
    s.popitem()
    print(s)
    
    {2: 'u', 3: 'u'}

    3.修改

    1.常规修改

    s = {'A': 'a', 'B': 'b'}
    s['A']='c'
    print(s)
    
    {'A': 'c', 'B': 'b'}

    2.update()  用一个字典更新另一个字典

    s = {'A': 'a', 'B': 'b'}
    s1 = {'A':'c'}
    s.update(s1)              # 用S1更新了S中相应KEY的值
    print(s)

    {'A': 'c', 'B': 'b'}

    4.查询

    1.一般查询

    s = {'A': 'a', 'B': 'b'}
    print(s['A'])
    
    a

    2.get()  访问字典成员,可以访问不存在的KEY

    s = {'A': 'a', 'B': 'b'}
    print(s.get('A'))
    
    a

    若KEY不存在,则返回None

    s = {'A': 'a', 'B': 'b'}
    print(s.get('1'))
    
    None

    3.setdefault() 创建一个新的KEY和值,如果类表中存在,则返回这个KEY的值

    s = {'A': 'a', 'B': 'b'}
    s.setdefault('C','c')                #列表中不存在
    print(s)
    
    {'A': 'a', 'C': 'c', 'B': 'b'}
    
    
    
    s = {'A': 'a', 'B': 'b'}
    print(s.setdefault('A','c'))              #列表中存在
    
    a

    4.key() 查询字典中所有的key

    s = {'A': 'a', 'B': 'b'}
    print(s.keys())
    
    dict_keys(['A', 'B'])

    5.values()  查询字典中所有的value值

    s = {'A': 'a', 'B': 'b'}
    print(s.values())
    
    dict_values(['b', 'a'])

    5.其他

    copy()  将字典复制,返回一个相同KEY的字典,但其中的值没有被独立。注:在复制的副本中对值进行替换后,对原来的字典不产生影响,但是如果修改了副本,原始的字典也会被修改。deepcopy函数使用深复制,复制其包含所有的值,这个方法可以解决由于副本修改而使原始字典也变化的问题

    1copy

    import copy
    s = {'A': {'a':2}, 'B': 'b','C':33}
    s1 = s.copy()
    s2 = copy.deepcopy(s)
    s['A']['a']=22
    
    print(s)
    print(s1)
    print(s2)
    
    
    {'A': {'a': 22}, 'B': 'b', 'C': 33}
    {'A': {'a': 22}, 'B': 'b', 'C': 33}
    {'A': {'a': 2}, 'B': 'b', 'C': 33}

    注: 不牵扯嵌套的话,直接使用copy就等于了 赋值 或者深copy   列表和字典都一样

    2.items()  将字典变为新的元组,单独返回。

    s = {'A': 'a', 'B': 'b','C':33}
    s1= s.items()
    print(s1)
    
    for key,value in s1:       # 循环取出
        print(key,value)
    
    
    
    dict_items([('C', 33), ('A', 'a'), ('B', 'b')])
    C 33
    A a
    B b
  • 相关阅读:
    HDU 2844 Coins(多重背包)
    HDU 4540 威威猫系列故事——打地鼠(DP)
    Codeforces Round #236 (Div. 2)
    FZU 2140 Forever 0.5
    HDU 1171 Big Event in HDU(DP)
    HDU 1160 FatMouse's Speed(DP)
    ZOJ 3490 String Successor
    ZOJ 3609 Modular Inverse
    ZOJ 3603 Draw Something Cheat
    ZOJ 3705 Applications
  • 原文地址:https://www.cnblogs.com/dexterfan/p/9253219.html
Copyright © 2020-2023  润新知