Python基础:二十、dict 字典

dict字典

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

1.  按键值对进行储存,可以储存大量关系型数据

2. 字典内部数据是无序的

3. 字典的key必须是不可变数据类型(可hash)

4. 字典的value可以是任意数据类型

5. 字典内部有一张hash表 将字典的key都对应为数字,按照二分查找去执行 

1、增:

  1)dic[key]=value

    在不存在该key时,则增加该键值对

    如果该key存在,则修改(覆盖)该键值对

  2)dic.setdefault(key,value)

扫描二维码关注公众号,回复: 6095350 查看本文章

    如果字典中有该键值对,不做任何改变

    如果字典中没有该键值对,则在dic中增加一个键值对:key:value

    当value没有的时候,默认为None

2、删:

  1)dic.pop(key)

    将字典中key这个键值对删除

    返回值为这个key对应的value

  2)dic.pop(key,参数)

    如果字典中没有该key,在key后加上None则可返回“参数”

    如果不写“参数”,则会报错

  3)dic.popitem()

    随机删除字典中的键值对

    并将删除的键值对按照元组的形式返回

  4)dic.clear()

    清空字典内容

  5)del dic[key]

    删除键值对,如果key不存在,则报错

3、改:

  1)dic[key]=value

    在不存在该key时,则增加该键值对

    如果该key存在,则修改(覆盖)该键值对

  2)dic1.update(dic2)

dic = {"name":"Jude","age":18,"sex":"male"}
dic2 = {"name":"Joe","weight":75}
dic2.update(dic)  # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中 

4、查:

  1)dic[key]

    获取字典指定key的value

  2)dic.get(key,默认返回值)

    获取字典指定key的value,如果没有,则返回默认返回值(如果没有设置默认返回值,则此时会报错)

  3)dic.keys()

    返回一个列表,列表的内容是字典的 键

  4)dic.values()

    返回一个列表,列表的内容是字典的 

  5)dic.items()

    返回一个列表,列表元素为n个元组,元组的内容是字典的 键 和 值

  6)for i in dic:   #什么都不写,默认打印出字典的key

        print i    

  7)for i in dic.values():    #打印字典的value 

        print i

  8)for i in dic.items():     #打印字典键值对所组成的元组
        print i 

  9)for k,v in dic.items():  #打印字典的键值对,key保存在k中,value保存在v中

        print k,v

猜你喜欢

转载自www.cnblogs.com/joetan/p/10802324.html