Python入门(十三):字典

    科技2022-08-09  106

    点击跳转 《Python入门系列目录》


    文章目录

    1. 创建字典2. 提取字典元素3. 字典基本操作4. 字典与列表

    一组键值对的数据结构每个键对应于一个值在字典中,键不能重复根据键可以查询到值字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对字典的键只能使用不可变的对象,但字典的值可以使用不可变或可变的对象字典符合数据库中数据表格的概念,它能表示基于关系模型的数据库

    1. 创建字典

    花括号{}创建

    {<键1>:<值1>, <键2>:<值2>, …, <键n>:<值n>}

    其中,键和值通过冒号连接,不同键值对通过逗号隔开

    dict()函数创建

    主要是将包含双值子序列的序列对象转换为字典类型

    dict([(1, 2), (3, 4), (5, 6)]) dict(([1, 2], [3, 4], [5, 6]))

    直接向dict函数传入键和值创建,用 = 连接键与值

    dict(key_1=value_1, key_2=value_2, ... , key_n=value_n)

    字典中键值对中的值还可以是字典

    mdict2 = {'H': {'count': 1, 'freq': 0.2}, 'e': {'count': 1, 'freq': 0.2}, 'l': {'count': 2, 'freq': 0.4}, 'o': {'count': 1, 'freq': 0.2}}

    2. 提取字典元素

    dict[key]in语句 判断键是否存在 使用字典方法get dict.get(key, default=None)

    3. 字典基本操作

    增添

    键访问赋值增添 dict_name[newkey] = new_valuedict_name.update(dict) 将两个字典中的键值对进行合并,如果存在相同键,传入字典中的键所对应的的值会替换原有值,实现值更新的效果

    删除

    del dict_name[key] 删除但不会返回对应的值 dict_name.pop(key) 删除并返回对应的值 dict_name.clear() 变成空字典

    修改

    dict_name[key] = new_value

    查询

    dict_name.keys() 用于获取字典中的所有键 dict_name.values() 用于获取字典中的所有值 dict_name.items() 用于获取字典中所有键值对

    其他常用操作

    以给定键值创建值为空的字典

    dict.fromkeys()dict.fromkeys(seq, [value]) adict = dict.fromkeys(['name', 'age', 'sex']) print(adict) # {'name': None, 'age': None, 'sex': None}

    使用dict利用已有数据创建字典

    keys = ['a', 'b', 'c', 'd'] values = [1, 2, 3, 4] dictionary = dict(zip(keys, values)) # zip:返回元组 print(dictionary) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}

    for <变量名> in <字典名>:进行遍历

    for i in mydict.items() 打印出来的是每个键值对分别形成的元组 for i in mydict 打印出来的是键 for i in mydict.values() 打印出来的是值

    按照值进行排序

    sorted(dict_name.items(), key=lambda x: x[1], reverse=True) # 降序

    4. 字典与列表

    列表是序列,字典不是序列序列是使用索引方式获取元素的,而字典是使用键来获取元素的序列元素的插入是和索引相关的,而字典元素的插入是和键相关的。因此列表有append函数、切片功能等,而字典没有列表是一种通用的数据结构,它里面的元素可以千变万化。列表可以被视为有序列的一群东西,而字典不然,它是key-value这种结构的独特组合 所以,字典对于寻找某一个key的记录,会有快速的方式来实现,这种实现方式叫做哈希(Hash)方式
    Processed: 0.020, SQL: 8