zoukankan      html  css  js  c++  java
  • 数据类型所有方法和使用整理之------字典

    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
  • 相关阅读:
    javaweb常识
    分页功能的实现
    登录按钮的美化
    如何将数据库中的值经过servlet传入到jsp页面,并且用EL表达式显示出值
    获取当前系统时间添加到对象中
    导航栏/菜单栏的设置
    验证码的设计与记住我存储用户名密码cookie的技术及单选按钮选择登录人身份的实现
    div悬浮窗口设计来完成注册页面
    jdbc封装的类
    ajax验证用户名是否存在
  • 原文地址:https://www.cnblogs.com/dexterfan/p/9253219.html
Copyright © 2011-2022 走看看