首页 > 其他 > 详细

2-8 字典dict

时间:2018-01-26 23:52:52      阅读:334      评论:0      收藏:0      [点我收藏+]

1.如何在一个变量里存储公司每个员工的个人信息?

  技术分享图片

 

 

2.字典的定义与特性

  字典是Python语言中唯一的映射类型。

  定义:{key1:value1,key2:value2}

 

1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;

  特性:

1.key-value结构
2.key必须可hash、且必须为不可变数据类型、必须唯一
3.可存放任意多个值、可修改、可以不唯一
4.无序
5.查找速度快

 

 假设key对应的hash值为下面的数字,排序然后根据二分法查找这个值所对应的key的hash值,

  二分法查找速度快

    技术分享图片技术分享图片

    技术分享图片

 

 

3.字典的创建

person = {"name": "alex", age: 20}
#
person = dict(name=seven, age=20)
#
person = dict({"name": "egon", age: 20})
#

person = dict(([name,苑昊],[文周,18]))
{}.fromkeys(seq,100) #不指定100默认为None
#注意
>>> dic={}.fromkeys([k1,k2],[])
>>> dic
{k1: [], k2: []}
>>> dic[k1].append(1)
>>> dic
{k1: [1], k2: [1]}

     技术分享图片

    技术分享图片

 

 

>>> info
{jack: [22, mod, ui, 555], alex: [23, it, it, 1000]}

>>> info[jack]
[22, mod, ui, 555]
>>>
>>> info[alex]
[23, it, it, 1000]
>>>
>>> info[alex][0]
23
>>> info[alex][1] = 老师
>>> info
{jack: [22, mod, ui, 555], alex: [23, 老师, it, 1000]}

 

 

 

 

 

4 .字典的常见操作

 

新增
    1、dic[new_key] = new_value;
    2、dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值;_

     技术分享图片

 

 

查看
    1、dic[key],返回字典中key对应的值,若key不存在字典中,则报错;
    2、dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)

    技术分享图片   技术分享图片

删除
    1、dic.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
    2、dic.clear() 删除字典中的所有项或元素;    

 

   技术分享图片技术分享图片

 

 

键、值、键值对
    1、dic.keys() 返回一个包含字典所有KEY的列表;
    2、dic.values() 返回一个包含字典所有value的列表;
    3、dic.items() 返回一个包含所有(键,值)元祖的列表;
    4、dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;

     技术分享图片

 

 

修改
    1、dic[key] = new_value,如果key在字典中存在,new_value将会替代原来的value值;
    2、dic.update(dic2) 将字典dic2的键值对添加到字典dic中,key有的话会覆盖

   技术分享图片

 

 

循环
    1、for k in dic.keys()
    2、for k,v in dic.items()
    3、for k in dic

 技术分享图片

    技术分享图片  技术分享图片

技术分享图片

    技术分享图片

 

 

 

长度
    1、len(dic)

 

5.多级字典的嵌套

     技术分享图片

 

 6.字典-练习题

技术分享图片

 

2-8 字典dict

原文:https://www.cnblogs.com/venicid/p/8361887.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!