Python-字典的操作方法

'''
字典是一种容器数据类型,用于存储键值对(key-value)的数据集合
    一、特点
        1)通过一个key对应一个确定唯一的值
        2)可变性:可以通过索引修改、删除或插入元素,可以改变列表的长度、内容和顺序
        3)异构性:可以包含不同类型的元素,如string、int、float、list等
        4)无序性:python3.7+版本是有序

'''
def dict_op():
    '''
        keys() 用来获取字典中所有的key,保存到一个列表中,并以dict_keys类型返回
        格式:  .keys()
    '''
    d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'hobby': {'first': ('eat', 'drink'), 'second': 'play'}}
    ks = d1.keys()
    print(ks)
    print(type(ks))

    '''
        values() 用来获取字典中所有的key,保存到一个列表中,并以dict_values类型返回
        格式: .values()
    '''
    vs = d1.values()
    print(vs)
    print(type(vs))

    '''
        items() 用来获取字典中所有的键值对,每一个元素值都以一个元祖保存,并将所有元素
                元组保存到一个列表中,并以dict_items类型返回
                格式: .items()
    '''
    its = d1.items()
    print(its)
    print(type(its))

    '''
        get(key,default) 用来获取key对应的值,如果指定的key不存在,则返回默认值
        字典对象[key]的形式获取值,key不存在时会抛出错误
    '''
    gets = d1.get('time','empty')
    print(gets)
    print(type(gets))

    gets = d1.get('name','empty')
    print(gets)
    print(type(gets))
    print(d1)

    '''
        setdefault(key,default) 给一个不存在的key添加一个默认值并将该键值对保存到字典中。
        在一些场景中,字典的key存在,却没有对应的值,此时可以使用该方法,为当前的key添加一个默认值:
        比如服务端发起请求时携带的请求头中的信息,,,只加不改
    '''
    d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' }
    d1.setdefault('gender','male')#此方法不会改变原有key的值
    print(d1)
    d1.setdefault('hobby1','eat')
    print(d1)
    d1.setdefault('hobby2')#不给默认值,字典中显示None
    print(d1)
    d1.setdefault('hobby2','play')#不给默认值,字典中显示None
    print(d1)

    '''
        fromkeys(keys,val) 用于创建一个新字典,以序列keys中元素做字典的键,value为所有键对应的初始值,默认为None
        该方法为静态方法,需要使用字典类型名dict调用。
        该方法如果只给定keys参数,则所有的key对应值都为默认值None
        如果给的val值,则所有的key对应值都为val
        此方法比较少用
    '''
    ks = ['name','age','hobby']#有一组其他数据类型的数据
    s1 = dict.fromkeys(ks,'hi')
    print(s1)
    s1 = dict.fromkeys(ks,'无')
    print(s1)

    '''
        update(s/iterable) 使用参数中的数据更新到当前字典
        该方法的参数可以接收一个字典(大多数的使用方法),也可以接受一个可迭代对象,如果参数数据中的key在当前字典中
        不存在,则将键值对添加到当前字典中
    '''
    #更新目标数据是一个字典
    d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' }
    newd1 = {'name': 'Jack','hobby':'eat'}
    d1.update(newd1)
    print(d1)
    #更新目标数据是一个可迭代对象
    d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' }
    newd1 = (('name','Jack'),['hobby','eat'])
    d1.update(newd1)
    print(d1)

    '''
        popiterm() 用来获取并删除字典中最后一个键值对,返回一个元组
        如果字典为空时,则抛出错误
    '''
    d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'address':'beijing' }
    d1.popitem()
    print(d1)
    # d1.popitem()
    # print(d1)
    # d1.popitem()
    # print(d1)
    # d1.popitem()
    # print(d1)
    # d1.popitem()#空字典,抛出错误
    # print(d1)
    '''
        pop(key) 用来获取并删除字典中指定key对应的键值对,返回一个元组
        如果指定key不存在时,则抛出错误
    '''
    d1.pop('name')
    print(d1)
    # d1.pop('name')#不存在指定key时跑错错误
    # print(d1)


    '''
        clear() 清空字典中所有键值对元素

    '''
    d1.clear()
    print(d1)#返回空字典



if __name__ == '__main__':
    dict_op()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值