zoukankan      html  css  js  c++  java
  • 基础数据类型(三)——字典常见操作

    # 字典
    # 字典的value可以是任何值
    # 字典的key为不可变类型,例如整型、字符串、元组均可(因为字典是以hash方式存储在内存中;吧key的hash值存在内存中,value直接存储
    # 若字典的key值相同,只保留一个value值
    # 字典是无序的,只能通过key值获取value
    di = {'name':'lwj', 'age':19}
    di_2 = {
        'k1':'v1',
        'k2':'v2',
        1:'v3',
        ('a', 'b',):8,
        'k5':[
            'a1',
            'a2',
            {
                'kk1':'a11',
                'kk2':9,
                'kk3':(1, 2, 'a', 'b',)
            }
        ]
    }
    
    # 获取kk2的值9
    print(di_2['k5'][2]['kk2'])
    
    # 字典循环,默认使用的是字典的key值
    for k in di.keys():
        print(k)
        print('获取key值')
    for k in di:
        print(k)
        print('默认是key值')
    
    for v in di.values():
        print(v)
        print('获取value值')
    
    for k, v in di.items():
        print(k, v)
        print('获取key:value值')
    
    
    # 根据序列创建字典,可设置字典的value值
    d = dict.fromkeys(['k1', 'k2', 'abc'],123)
    print(d) #结果为{'k1': 123, 'k2': 123, 'abc': 123}
    
    print(dict.fromkeys('abcd', 123)) #结果为{'a': 123, 'b': 123, 'c': 123, 'd': 123}
    
    # 获取可设置默认value值的字典key
    v = d.get('k1')
    print(v) #此时k1是存在的,这样或获取123结果
    v1 = d.get('k3')
    print(v1) #此时k3是不存在,这样获取的value值为None
    v2 = d.get('k3','abcd')
    print(v2) #此时k3是不存在,这样获取的value值为默认值'abcd'
    
    
    d = {'a': 123, 'b': 123, 'c': 123, 'd': 123}
    m = d.pop('a') # 这样会删除key对应的value→123
    print(d, m) #得到结果{'b': 123, 'c': 123, 'd': 123} 123
    
    # 若删除的键值不存在,删除key值之后可以设置默认的返回值
    d = {'a': 123, 'b': 123, 'c': 123, 'd': 123}
    m = d.pop('e','abcd') #此时删除的'e'不存在,无法删除,但是可以返回默认的value值为'abcd'
    print(d, m) #结果为
    
    # popitem() #随机删除字典的key以及对应的value值,可直接获取删除的内容
    d = {'a': 123, 'b': 123, 'c': 123, 'd': 123}
    k,v = d.popitem()
    print(d, k, v)
    
    
    # setdefault('e', 1234) # 设置key对应的值,如果key不存在则加入到字典中,若存在,则获取key当前的value值
    d = {'a': 123, 'b': 123, 'c': 123, 'd': 123}
    v = d.setdefault('e', 1234)
    print(d, v) #结果为{'a': 123, 'b': 123, 'c': 123, 'd': 123, 'e': 1234} 1234
    v = d.setdefault('a', 1234)
    print(d, v) #结果为{'a': 123, 'b': 123, 'c': 123, 'd': 123, 'e': 1234} 123
    
    
    # update() #字典的两种更新方法
    d = {'a': 123, 'b': 123, 'c': 123, 'd': 123}
    d.update(a='abc', e='eee')
    d.update({'b':222, 'f':'fff'})
  • 相关阅读:
    el-table背景色透明
    判断数组对象里的属性值是否重复
    :Duplicate keys detected: 'xxx'. This may cause an update error.
    钉钉微应用附件下载方案
    探索JS引擎工作原理
    js深度优先遍历和广度优先遍历实现
    微前端qiankun从搭建到部署的实践
    浏览器与Node的事件循环(Event Loop)有何区别?
    JS
    微信小程序预览Word文档
  • 原文地址:https://www.cnblogs.com/wjlv/p/10816736.html
Copyright © 2011-2022 走看看