您的位置:首页 > 理论基础 > 数据结构算法

Python数据结构:字典初探(系列:列表、元组、字典、集合)

2020-01-15 05:07 701 查看

字典,作为Python的重要数据结构,具有其特有的命名原则和结构。
字典的创建方式dic{键:值,键:值,……};其中键作为每个元素的名字,值为每个单元的数值。
字典类似于Matlab的元胞数组,只是在其基础上,增加各元胞的名称,便于调用。

字典类型的数据,存在如下基本的操作方式:

  1. 元素的添加:

    dic[5]=‘some value’
    ,即在字典数据的末尾,增加
    5:‘some value’
    这一元素,最终形成
    dic{……,5:‘some value’}

  2. 元素的删除:

    del dic[5]
    ,删除对应的键(名)和值,字典恢复
    dic{……}

  3. 读取并删除:

    ret=dic.pop(5)

    ret

    函数进行的操作是:将
    ‘some value’
    赋值给变量
    ret
    ,同时,在
    dic{……,5:‘some value’}
    中删除
    5:‘some value’
    ,还原到原始的字典数据
    dic{……}

  4. 单独输出键、 值:

    list(dic.keys())
    输出字典中的键(名)
    list(dic.values())
    输出字典中的数值

  5. 字典中存在多种函数,先介绍

    setdefault()
    函数:
    setdefault(key,[default])

    在字典中,如果有这个
    key
    值,则直接返回
    key
    对应的
    value
    ,并且设定的
    default
    值 --无效;
    如果没有这个
    key
    值,则在字典中加入这个
    key
    ,并可以指定一个默认值,返回到字典中;如果没有设定
    default
    ,则返回
    None

    利用此函数,可实现分类功能。例如:

    words=[……] by_letter = {}

    for word in words:
    letter=word[0]
    by_letter.setdefault(letter,[]).append(word)

即,在字典中搜索 有无首字母的key,没有此类,就添加此

key
,然后将对应的
数值value
添加到字典中;实现依据首字母分类的功能。
引申:可以对letter对象变换,实现依据……任何条件
key
值进行分类的功能。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
白衣法师甘道夫 发布了18 篇原创文章 · 获赞 1 · 访问量 2713 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐