day_05 字典

1. 字典
  1.成对保存数据 ,以key:value形式保存
  2.以{}表示,每项内容都是key:value,元素之间用逗号隔开
  3.key是不可重复的
  4.字典以hash算法来计算key的hash值,使用hash值来保存数据
      hash算法得到唯一的值(可能很大,可能很小.可能正数,可能负数)
      可hash(不可变)数据类型:int bool str tuplu
      不可hash数据类型:list dic set
  5.hash算法是无序的,所以字典的储存是无序的
  
2. 增改删查
   1.增
     1.dic.["key"]=value     dic[字典中不存在的key]=value,如果已存在key,会修改value值
     2.setdefault('key',value)    如果字典中key存在,就不会进行任何操作
   2.删
     1.pop(key)   指定key删除
     2.popitem()  看到的是删除最后一个,实际是随机删除的
     3.clear()    清空
     4.del dic[key]
   3.修改
     1.dic[key]=新value  dic[已经存在的key]=新value
     2.dic.update(dic2) 把dic2的内容覆盖到dic1中,如果key存在,则修改value值,
         如果key不存在则新增
   4. 查询
     通过key来查找具体数据
     dic[key] 可能会报错 如果key不存在,会报错
     dic.get(key)  当key不存在,默认返回NONE
     dic.setdefault("x","y")  当key不存在,默认返回y值,当key存在,返回value
3.常见操作
    keys()  key的集合
    values() value的集合  
    items() 键值对的集合(key,value)
    真正的字典的迭代,拿到就是key以及value
    for k in dic.keys():
       print(k)               类似列表,但不是列表,可以把他当列表用
       print(dic(key))
    for value in vaues():
        print(value)          类似列表,但不是列表,可以把他当列表用     
    for k,v in items():
        print(k,v)             这个东西是列表,但是列表里面装的是元组    
    延伸:结构
     a,b=2,3
     print(a,b)                结果是2,3(结构的时候注意数量要匹配)

 



posted @ 2018-10-25 14:35  阿布_alone  阅读(141)  评论(0编辑  收藏  举报
TOP