美文网首页
认识字典(一)

认识字典(一)

作者: 右哼哼丨左哼哼 | 来源:发表于2018-01-31 14:08 被阅读22次

dict

  • python内置的一种数据结构
  • 无序
  • 可更改

类似于C++语言的map,存键值对,有很快的查找速度。比如根据身份证号查找某个人的名字,根据学号查找学生成绩单。用list遍历也可以得到结果,但是太慢了,list就好像你在一个小区找人,你一家一家敲门。dict就好像你直接按照地址X栋X单元X层直接找。
dict是典型的用空间换时间的例子。会占用大量内存,但是查找、插入速度很快,不会随着元素数量增加而增加。
list则是时间换空间的例子,不会占用大量内存,但是随着元素数量增多,查找时间会变很长。

声明

>>>name = {1: "alan", 2: "bob", 3: "lucy"}

查找

>>>name[1]
'alan'
>>>name[2]
'bob'
>>>name[3]
'lucy'
>>> name[5]
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
KeyError: 5

为了避免出现报错的情况我们一般事先判断一下这个key是否在字典中

>>> 5 in name
False

也可以用get方法取,如果key不存在,会返回None或者自己定义的默认值

>>> name.get(5)
>>> name.get(5, "default")
'default'

更改

>>> name[4] = "mac"
>>> name
{1: "alan", 2: "bob", 3: "lucy", 4: "mac"}

删除

>>> name.pop(1)
'alan'
>>> name
{2: 'bob', 3: 'lucy'}

元素个数

>>> name = {1: "alan", 2: "bob", 3: "lucy"}
>>> len(name)
3

获取所有Key

>>> name = {1: "alan", 2: "bob", 3: "lucy"}
>>> name.keys()
[1,2, 3]

获取所有value

>>> name = {1: "alan", 2: "bob", 3: "lucy"}
>>> name.values()
dict_values(['alan', 'bob', 'lucy'])

获取所有键值对

>>> name = {1: "alan", 2: "bob", 3: "lucy"}
>>> name.items()
dict_items([(1, 'alan'), (2, 'bob'), (3, 'lucy')])

相关文章

  • 认识字典(一)

    dict python内置的一种数据结构 无序 可更改 类似于C++语言的map,存键值对,有很快的查找速度。比如...

  • 认识字典

    列表是相关对象的一个集合,与列表不同,字典用来保存一个键/值对集合,其中每个唯一的键有一个与之关联的值。 ...

  • 字典合集

    元祖 ----------------------------认识字典----------------------...

  • python复习知识点

    学习目标 1.认识什么是字典 2.字典的增加删除 3.字典的案例练习 1. 什么是字典 字典的每个键值 key=>...

  • 认识字典(二)

    Python 字典(Dictionary) fromkeys()方法 描述 Python 字典(Dictionar...

  • Day8-元组,字典和集合

    一、认识类型 二、增删改查 注意: 字典的查询: a.字典[key] ---> 获取key对应的值(key值必须...

  • 散列表

    散列表 认识散列表 是 字典(键 、值对)的一种实现方式。每次在字典中获取一个值,都需要重复遍历字典,如果用散列表...

  • 藏在词典里的疑问

    很久没有认真地查过字典了,今天对于自己认识的单词却小心翼翼地查着字典,生怕自己弄错了!查字典后的结果如下: 第一...

  • 字典

    我书上的字,爸爸书上的字,都是字典家里的孩子。爸爸说,字典家的孩子很多很多,你要一个一个的和他们认识。和字典交上了...

  • Python字典(dictionary)学习笔记

    一、认识Python字典 1、Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他...

网友评论

      本文标题:认识字典(一)

      本文链接:https://www.haomeiwen.com/subject/rmrxzxtx.html