zoukankan      html  css  js  c++  java
  • 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(结构的时候注意数量要匹配)



  • 相关阅读:
    HDU 1847
    HDU 1717
    KMP未优化模板、
    Codeforces Round #340 (Div. 2) B. Chocolate
    HDU 1042 N!
    HDU 1018 Big Number
    HDU 1031 Design T-Shirt
    解决Windows 7删除执行过的 EXE、Bat文件有延迟的问题
    修改Android手机的“虚拟机堆大小”和android:largeHeap来防止APP内存溢出问题
    Android引用百度定位API第三方组件后导致其它.so文件无法正常加载的问题
  • 原文地址:https://www.cnblogs.com/tjp40922/p/9849692.html
Copyright © 2011-2022 走看看