• python之字典相关知识


    python之字典相关知识

    1、字典的创建

    字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。字典的每个键值 key:value 对用冒号分割,键值对之间用逗号分割
    示例

    # 创建并打印字典
    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict)
    
    
    • 1
    • 2
    • 3
    • 4

    运行结果:
    请添加图片描述

    说明:
    ①字典和列表一样能够存储多个数据,列表中找某个元素时是根据下标进行的,而字典不能使用下标取值,字典中查找某个元素时是根据键的名字进行的。
    ②键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
    ③值可以取任何数据类型,但键必须是不可变的,可以用数字,字符串或元组充当,但用列表不行。

    2、根据键访问字典里的值

    可以通过在方括号内引用其键名来访问字典的值
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict["name"])
    
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    若访问不存在的键,则会报错
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict["score"])
    
    • 1
    • 2

    运行结果:
    请添加图片描述

    还可以使用 get( ) 方法返回具有指定键的项目值
    语法如下:

    dictionary.get(keyname, value)

    参数含义:
    keyname:必选参数。要从中返回值的项目的键名
    value:可选参数。若指定的键不存在,可以设置返回一个值。默认值 None

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict.get("name"))     # 获取 "name" 项的值
    
    print(aDict.get("score",0))  # 返回不存在的项目的值,设置返回值为 0
    
    print(aDict.get("score"))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行结果:
    请添加图片描述

    3、字典的常见操作

    3.1 查找元素

    如上所讲,可以使用键名查找,也可以使用 get( ) 方法,这里不再赘述
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict["name"])
    print(aDict.get("age"))
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    3.2 修改元素

    可以通过引用键的名字来更改特定项的值
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    newAge = input("请输入新的年龄:")
    aDict["age"] = int(newAge)
    print(f"修改后的age为{aDict['age']}")
    
    • 1
    • 2
    • 3
    • 4

    运行结果:
    请添加图片描述

    3.3 添加元素

    可以通过使用新的索引键并为其赋值,将项目添加到字典中。即如果在使用 变量名[“键名”] = 数据 ,这个"键名"在字典中不存在时就会新增这个元素
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    aDict["score"] = 85.5
    print("添加的成绩为:{}".format(aDict["score"]))
    print(aDict)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:
    请添加图片描述

    3.4 删除元素

    有几种方法可以从字典中删除项目

    • del 关键字
    del 关键字可以删除具有指定键名的项目,也可以完全删除字典
    示例1

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    del aDict["age"]   # 删除"age"项
    print(aDict)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    示例2

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    del aDict      # 删除整个字典
    print(aDict)   # 会报错,因为 "aDict" 不再存在
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    • clear( ) 方法
    clear()方法会清空整个字典
    语法如下:

    dictionary.clear()

    无参数

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    aDict.clear()   # 删除字典中所有的元素
    print(aDict)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    • pop( ) 方法
    pop() 方法会删除拥有指定键的元素,被删除项目的值是该方法的返回值
    语法如下:

    dictionary.pop(keyname, defaultvalue)

    参数含义:
    keyname:必选参数。需要删除项目的键名
    defaultvalue :可选参数。返回值。如果未指定此参数,且指定的键不存在,则会引发错误

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    x = aDict.pop("name")    # 从字典中删除 "name"
    print(aDict)
    print(x)                 # 被删除项目的值是 pop() 方法的返回值
    
    • 1
    • 2
    • 3
    • 4

    运行结果:
    请添加图片描述

    • popitem( ) 方法
    popitem() 方法删除最后插入字典中的项目。在 3.7 之前的版本中,popitem() 方法删除一个随机项。该方法的返回值是以元组的形式的被删除的项目
    语法如下:

    dictionary.popitem()

    无参数

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    x = aDict.popitem()   # 从字典中删除最后一个项目
    print(aDict)
    print(x)              # 被删除项目的值是 popitem() 方法的返回值
    
    • 1
    • 2
    • 3
    • 4

    运行结果:
    请添加图片描述

    4、字典的常见方法

    4.1 len( )

    len() 方法用于确定字典中键值对的数量
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(len(aDict))
    
    • 1
    • 2

    运行结果:
    在这里插入图片描述

    4.2 keys( )

    keys() 方法返回一个包含字典所以键的列表,该列表会反映对字典的任何改变
    语法如下:

    dictionary.keys()

    无参数

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict.keys())  # 返回键
    
    • 1
    • 2

    运行结果:
    请添加图片描述

    4.3 values( )

    values() 方法返回一个包含字典中所有值的列表,该列表会反映对字典的任何改变
    语法如下:

    dictionary.values()

    无参数

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict.values())  # 返回值
    
    • 1
    • 2

    运行结果:
    请添加图片描述

    4.4 items( )

    items() 方法返回返回一个包含所有键值对(键,值)元组的列表,该列表会反映对字典的任何改变
    语法如下:

    dictionary.items()

    无参数

    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    print(aDict.items())  # 返回字典的键值对
    
    • 1
    • 2

    运行结果:
    请添加图片描述

    5、字典的遍历

    5.1 遍历字典的键

    循环遍历字典时,返回值是字典的键
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    for key in aDict:
        print(key)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    也可以用keys() 方法
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    for key in aDict.keys():
        print(key)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    5.2 遍历字典的值

    可以通过遍历键访问字典中的所有值
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    for key in aDict:
        print(aDict[key])
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    也可以通过使用values()方法
    示例

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    for value in aDict.values():
        print(value)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    5.3 遍历字典的键和值

    通过使用 items()遍历键和值
    示例1

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    for item in aDict.items():
        print(item)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

    示例2

    aDict = {"name":"Cindy","age":10,"sex":"female"}
    for key,value in aDict.items():
        print(key,value)
    
    • 1
    • 2
    • 3

    运行结果:
    请添加图片描述

  • 相关阅读:
    SSL证书验证失败
    最优化算法之粒子群算法PSO
    如何搭建一套完整的数据指标体系?_光点科技
    Go语言基础
    WT2605-24SS高品质录音语音芯片:实时输出、不保存本地,引领音频技术新潮流
    RD算法(一)—— 算法原理
    Transformers的RoBERTa model怎么使用word level的tokenizer
    十年架构五年生活-06 离职的冲动
    【音频处理】Loudness Normalization 响度均衡算法简介
    FSAF:嵌入anchor-free分支来指导acnhor-based算法训练 | CVPR2019
  • 原文地址:https://blog.csdn.net/qq_45158642/article/details/127626222