Python中的字典定义与操作

Python 字典是一种无序的键值对集合,其中键值唯一不能重复,且只能通过键(key)来访问数据,而不能像列表那样使用下标索引。字典是一种非常灵活的数据结构,适用于各种场景。下面根据代码总结一下字典的定义和常见操作。

1. 字典的定义

字典的定义有多种方式:

(1)使用大括号 {} 定义字典:

(2)使用 dict() 函数定义空字典:

输出内容:

2. 获取字典中的值

从字典中可以通过**键(key)**来获取对应的值(value):

输出结果:

王力宏的分数是:80

注意:使用键访问字典时,必须确保该键存在,否则会抛出 KeyError 异常。如果不确定键是否存在,可以使用 get() 方法获取值,避免错误:

3. 字典的嵌套

字典可以嵌套,即字典的值可以是另一个字典:

通过键访问嵌套字典的值时,需要按层级索引。

输出结果为:

4. 字典的增删改查

  • 新增元素:通过指定新键值对的方式直接添加:

  • 更新元素:若键已存在,则更新该键对应的值:

  • 删除元素:使用 pop() 方法删除指定键的键值对,并返回该值:

  • 清空字典:使用 clear() 方法可以清空字典中的所有元素:

  • 输出结果:

    5. 获取字典的键、值和项

  • 获取字典中的所有:使用 keys() 方法:

  • 获取字典中的所有:使用 values() 方法:

  • 获取字典中的所有键值对:使用 items() 方法:

  • 6. 遍历字典

    遍历字典的方式有两种:

  • 通过键遍历

  • 输出结果:

  • 使用 items() 同时遍历键和值

  • 7. 统计字典的元素数量

    使用 len() 函数可以统计字典中键值对的数量:

    8. 字典的特点

  • 键唯一性:字典的键必须是唯一的,如果同一个字典中使用相同的键定义不同的值,后者会覆盖前者。
  • 键不可变:字典的键必须是不可变的(如字符串、数字或元组),但值可以是任意类型,包括列表、字典等。
  • 无序性:Python 3.6 之前,字典是无序的;从 Python 3.7 开始,字典的键值对按照插入顺序存储。
  • 总结

    Python 的字典是一种灵活且强大的数据结构,能够通过键快速地访问和操作数据。常见的操作包括通过键获取值、增加新元素、更新或删除元素以及嵌套字典的使用。掌握这些基本操作后,可以高效地处理各种复杂的数据结构。

    源码:

    #字典的键值不能重复,只能唯一,且不能使用下标索引,只能用key
    # 定义字典
    my_dict={"张亮":99,"小王":98}
    
    #定义空字典
    my_dict2=dict()
    my_dict3={}
    print(f"字典1内容是:{my_dict},类型:{type(my_dict)}")
    print(f"字典2内容是:{my_dict2},类型:{type(my_dict2)}")
    print(f"字典3内容是:{my_dict3},类型:{type(my_dict3)}")
    
    #从字典中基于key获取value
    my_dict4={"王力宏":80,"张亮":70,"小花":90,"小王":50,}
    print(f"王力宏的分数是:{my_dict4["王力宏"]}")
    
    #字典的嵌套
    stu_score_dict={
        "王力宏":{
            "语文":75,
            "数学":80
        },
        "周杰伦":{
            "语文":79,
            "数学":81
        },
        "林俊杰":{
            "语文":78,
            "数学":89
        }
    }
    print(f"学生考试信息{stu_score_dict}")
    
    #从嵌套字典获取数据
    #看一下周杰伦的语文信息
    print(f"周杰伦的语文成绩{stu_score_dict["周杰伦"]["语文"]}")
    
    
    #字典的相关操作:
    
    my_dict = {"小明":68,"小汪":75,"大明":89}
    #新增元素
    my_dict["小美"]=99
    print(f"新增元素后:{my_dict}")
    
    #更新元素
    my_dict["小明"]=80
    print(f"更新元素后:{my_dict}")
    
    #删除元素
    score=my_dict.pop("小明")
    print(f"字典删除了一个元素是{score},剩余元素的结果是:{my_dict}")
    
    #清空元素,clear
    my_dict.clear()
    print(f"字典被清空了,内容是{my_dict}")
    
    #获取全部的keys
    my_dict={"小明":68,"小汪":75,"大明":89}
    keys=my_dict.keys()
    print(f"字典全部的keys是:{keys},keys的类型是{type(keys)}")
    
    #遍历字典
    #方式1 通过获取到全部key来遍历
    for key in keys:
        print(f"字典的key是{key}")
        print(f"字典的value是:{my_dict[key]}")
    
    #方式2 直接对字典进行for循环,每一次都是直接得到key
    for key in my_dict:
        print(f"字典的key是{key}")
        print(f"字典的value是:{my_dict[key]}")
    
    #统计字典内的元素数量,len()
    num=len(my_dict)
    print(f"字典中的元素数量有:{num}个")

    作者:倾听醉梦语

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python中的字典定义与操作

    发表回复