python数据结构之字典

来源:互联网 发布:加密狗软件安装 编辑:程序博客网 时间:2024/05/01 18:15

字典

  • 又称为(# hash,映射,关联数组)
  • “字” —> 先找首字母,查到这个字的解释所在的页数;

  • 字典是另一种可变容器模型,且可存储任意类型对象。

  • 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中

  • 键必须是唯一的,但值则不必。

  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

思维导图:

这里写图片描述

字典的定义:

d = {}
d = {“key1”:”value1”}
d = {“key1”:”value1”,”key2”:”value3”}

d = {

"172.25.254.1":    {    "user":"root",    "password":"westos",    "command":"hostname"    },"172.25.254.2":    {    "user":"westos",    "password":"westos1",    "command":"hostname"    }

} # 支持异构,嵌套

user=[“user1”,”user2”]
passwd=[“123”,”123”]
d=dict(zip(user,passwd))
这里写图片描述

“”.fromkeys([“a”,”b”],”1000”)
这里写图片描述

字典的特性

  • 字典是可变数据类型;可使用len(d)内置函数,计算字典的长度;
  • 字典是无序的,与序列(str,list,tuple)不同的是,不支持索引,切片,连接与重复。只能通过key值获取对应的value值;
  • 字典支持异构,支持嵌套;

字典的增加

d.update()##添加,更新
这里写图片描述
d.setdefault(key[,value])#如果key存在,不更改;如果key不存在,添加key-value到字典中;

如果key值有,并不存在d字典中,默认value值None;

字典的删除

d.pop(key) # 根据某个key值删除字典中的key-value值;
这里写图片描述
d.popitem() # 随机删除key-value值
d.clear() # 清空字典的所有内容,字典还存在
这里写图片描述
del(d[“key”]) # 删除指定的key值的key-value
这里写图片描述
del(d) # 删除字典d,d直接不存在
这里写图片描述

字典的修改

d[“key2”]=”value3”
d.update({“key”:”value”})##修改key值对应的value

字典信息的查看

  • d.get(“key”) # 如果key存在,返回value值;如果不存在,返回None;
  • d[“key”] # 如果key存在,返回value值;如果不存在,直接报错;
  • d.has_keys(“key”) # 如果key存在,返回True;如果不存在,返回False;
  • d.items()
    这里写图片描述
  • d.keys()
    这里写图片描述
  • d.values()
    这里写图片描述
    注意:如何遍历字典的所有key-value值:
for key,value in d.items():    print key, value

这里写图片描述

  • d.iterkeys()
i=d.iterkeys()print i.next()print i.next()print i.next()print i.next()

这里写图片描述

  • d.itervalues()
    这里写图片描述
  • d.iteritems()
    这里写图片描述

字典的复制

d.copy()

In [105]: d1 = d.copy()In [106]: id(d)Out[106]: 20314528In [107]: id(d1)Out[107]: 20338192In [108]: d2 = dIn [109]: id(d2)Out[109]: 20314528

这里写图片描述

原创粉丝点击