• 字典(dict)的常用操作


    字典(dict)的常用操作

    字典的特征

    • 通过键而不是通过索引来读取
    • 字典是任意对象的无序集合
    • 字典是可变的,并且可以任意嵌套
    • 字典中的键必须唯一
    • 字典中的键必须不可变

    字典的创建

    zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想获取元组,可以将zip对象使用tuple()函数转换为元组,如果想获取列表,则可以使用list()函数将其转换为列表

    # 空字典的创建
    dic = {}
    dic1 = dict()
    
    # 有键值对的字典的创建
    dic2 = {'name': '小红', 'age': '18', 'height': 170}
    print(dic2)
    # 通过映射函数创建字典
    list1 = ['name', 'age', 'height']
    list2 = ['小红', 18, 170]
    dic3 = dict(zip(list1, list2))
    print(dic3)
    
    # 通过给定的参数创建字典
    dic4 = dict(name='小红', age=18, height=170)
    print(dic4)
    
    # 使用fromkeys方法创建值为空的字典
    dic5 = dict.fromkeys(list1)
    print(dic5)
    
    # 将元组作为字典的键,列表作为值进行创建字典
    # 注意:不能使用列表作为字典的键
    list3 = ('name', 'age', 'height')
    list4 = ['小红', 18, 170]
    dic6 = {list3: list4}
    print(dic6)
    
    
    # 输出结果
    {'name': '小红', 'age': '18', 'height': 170}
    {'name': '小红', 'age': 18, 'height': 170}
    {'name': '小红', 'age': 18, 'height': 170}
    {'name': None, 'age': None, 'height': None}
    {('name', 'age', 'height'): ['小红', 18, 170]}
    

    遍历字典元素(items)

    dic = {'name': '小红', 'age': '18', 'height': 170}
    # 使用item方法获取键值对
    print(dic.items())
    
    # 遍历键值对
    for k, v in dic.items():
        print(k, v)
        
    
    # 输出结果
    dict_items([('name', '小红'), ('age', '18'), ('height', 170)])
    name 小红
    age 18
    height 170
    

    字典的增、删、改、查操作

    增,改(updata)

    dic = {'name': '小红', 'age': '18', 'height': 170}
    # 字典的修改操作,不存在此键则新增,存在则进行修改
    dic['爱好'] = '玩游戏'
    print(dic)
    
    # 增加多个键值对
    dic.update({'性别': '女', '星座': '水瓶座'})
    print(dic)
    
    
    # 输出结果
    {'name': '小红', 'age': '18', 'height': 170, '爱好': '玩游戏'}
    {'name': '小红', 'age': '18', 'height': 170, '爱好': '玩游戏', '性别': '女', '星座': '水瓶座'}
    

    删(del)

    dic = {'name': '小红', 'age': '18', 'height': 170, '爱好': '玩游戏', '性别': '女', '星座': '水瓶座'}
    # 使用pop方法删除字典的键值对
    dic.pop('爱好')
    print(dic)
    
    # 使用del方法删除其中的元素
    del dic['星座']
    print(dic)
    
    # 使用clear删除字典的元素,将其变为空字典
    dic.clear()
    
    
    # 输出结果
    {'name': '小红', 'age': '18', 'height': 170, '性别': '女', '星座': '水瓶座'}
    {'name': '小红', 'age': '18', 'height': 170, '性别': '女'}
    

    dic = {'name': '小红', 'age': '18', 'height': 170, '爱好': '玩游戏', '性别': '女', '星座': '水瓶座'}
    # 通过指定的key去找value值,没有查找到时会出现报错
    dic1 = dic['name']
    print(dic1)
    
    # 在实际开发过程中,我们并不知道字典中是否存在此键,所以我们应该避免异常做出判断
    print(dic["like"] if 'like' in dic else '字典中没有这个键')
    
    # 通过key去找对应的value值,字典中无查找的key时会显示结果为None
    dic.get('性别')
    
    # 我们还可以通过get方法来避免报错
    # 第一个参数传我们需要查找的key,第二个参数传默认值,如果找不到此key,则返回默认值,默认的默认值是None
    print(dic.get('like', '字典中没有这个键'))
    
    # 查找字典中所有的key
    dic.keys()
    
    # 查找字典中所有的value
    dic.values()
    
    # 将字典转换为列表显示
    print(list(dic.keys()))
    
    # 查找所有的键值对
    dic.items()
    
    
    # 输出结果
    小红
    字典中没有这个键
    字典中没有这个键
    ['name', 'age', 'height', '爱好', '性别', '星座']
    dict_items([('name', '小红'), ('age', '18'), ('height', 170), ('爱好', '玩游戏'), ('性别', '女'), ('星座', '水瓶座')])
    
  • 相关阅读:
    Python CI中iOS项目自动打包运行
    Jquery 插件开发公开属性顺序的影响.
    MVC4使用SignalR出现$.connection is undefined错误备忘
    C语言运算符的优先级与结合性
    CF478C Table Decorations (贪心)
    LightOJ1370 Bishoe and Phishoe (欧拉函数+二分)
    经典排序:冒泡排序法与选择排序法
    STL初学
    博客园使用Markdown和公式
    为知笔记(Wiz)发布博客到博客园(cnblog)
  • 原文地址:https://www.cnblogs.com/zhouxiongjie/p/13182208.html
Copyright © 2020-2023  润新知