• Python基础04 字典基本操作


    一、前言

    本文主要记录了Python学习过程中,基本数据类型字典dict的操作

    二、字典dict

    主要包括增、删、改、查的一些方法
    字典是python中唯一的映射类型数据,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

    字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    直接添加

    dic = {
        'name': 'allen',
        'age': 19,
        'hobby': 'basketball'
    }
    dic['address'] = '北京'  # 有key则修改,无key则增加
    print(dic)
    
    {'name': 'allen', 'age': 19, 'hobby': 'basketball', 'address': '北京'}
    

    使用set.default()添加元素

    dic = {
        'name': 'allen',
        'age': 19,
        'hobby': 'basketball'
    }
    dic.setdefault('name','alex') #有key不修改,无则增加
    {'name': 'allen', 'age': 19, 'hobby': 'basketball'}
    
    dic.setdefault('tel','18888813694') #有key不修改,无则增加
    {'name': 'allen', 'age': 19, 'hobby': 'basketball', 'tel': '18888813694'}
    
    dic = {
        'name': 'allen',
        'age': 19,
        'hobby': 'basketball'
    }
    
    res = dic.pop('name')
    print(res)
    
    输出结果
    {'age': 19, 'hobby': 'basketball'}
    
    
    res = dic.pop('address','没有此key') # 没有此key时不报错
    print(res)
    {'name': 'allen','age': 19, 'hobby': 'basketball'}
    
    

    dic.popitem() # 随机删除,有返回值
    dic.clear() # 清除字典中的元素
    del dic # 删除字典

    dic = {
        'name': 'alex',
        'age': 19,
        'hobby': 'basketball',
    }
    dic1 = {
        'address': 'beijing',
        'age': 25,
        'tel': '17888813693',
    
    }
    dic['age]=20
    print(dic)
    结果:{
        'name': 'alex',
        'age': 19,
        'hobby': 'basketball',
    }
    
    dic.upate(dic1) # dic1中有和dic相同的key,修改dic中元素value,不相同key的item添加到dic中
    {'name': 'alex', 'age': 25, 'hobby': 'basketball', 'address': 'beijing', 'tel': '17888813693'}
    
    
    dic = {
        'name': 'alex',
        'age': 19,
        'hobby': 'basketball',
    }
    
    print(dic['name'])  #alex
    print(dic['sex'])   # 由于找不到key会报错
    res = dic.get('sex', '男') # 不会报错,找不到返回默认的 
    

    字典的遍历

    dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'name': 'alex'}

    for i in dic: 
        print(i)# 打印的是key
        
    k1
    k2
    k3
    name
    
    for i in dic.keys(): 
        print(i)# 打印的是key
        
    k1
    k2
    k3
    name
    
    for i in dic.values(): 
        print(i)# 打印的是值
    v1
    v2
    v3
    alex 
    
    for i in dic.items(): 
        print(i)# 打印的是key-value键值对
        
    ('k1', 'v1')
    ('k2', 'v2')
    ('k3', 'v3')
    ('name', 'alex')
    

    需要注意点:
    1、遍历字典时,最好不要改变字典的大小
    2、fromkeys(l,value)将可迭代对象各个元素作为key,将value作为各个key的值,返回一个字典

    dic = dict.fromkeys('abc', 666)
    print(dic)
    
    
    {'a': 666, 'b': 666, 'c': 666}
    
    dic = dict.fromkeys('abc', [])
    # 坑
    dic['a'].append(666)
    print(dic)
    
    {'a': [666], 'b': [666], 'c': [666]}
    
  • 相关阅读:
    Unity Shader _Time 的单位
    egg-sequelize 实现 增删改查
    Eggjs 联表查询
    Eggjs 菜单权限管理
    Eggjs 角色管理 -- 对角色树进行 增删改查
    Egg.js 实现一维的对象数组转化为树形数组
    Egg.js 中 Session 的设置和获取
    Egg.js 中 Cookie 的设置和获取
    Egg 安全机制 CSRF 的防范
    Egg middleware 中间件
  • 原文地址:https://www.cnblogs.com/suxianglun/p/9037215.html
Copyright © 2020-2023  润新知