zoukankan      html  css  js  c++  java
  • python内置函数字典(dict)

    一、字典dict定义初始化

    • 字典是key-value键值对的数据集合
    •  key的要求和set的元素要求一致,可hash才可以作为key
    •  字典是可变的,无序的,key不可重复
    •  d = dict() 或者d = {} 定义一个空字典
    •  dict(**kwargs) 使用name=value对 初始化一个字典

    二、字典元素的访问

    • d[key]: 返回key对应的值value,key不存在抛出KeyError异常
    • d.get(key[,default]): 返回key对应的值value,key不存在返回缺省值,如果没有缺省值返回None
    • d.setdefault(key[,default]):返回key对应的值value,key不存在,添加kv对;value为default,并返回default,如果没有default,缺省为None

    三、字典增加和修改

    • d[key] = value: 将key对应的值修改为value,key不存在添加新的kv对
    • d.update([other]): 使用另一个字典的kv对更新本字典,key不存在,就添加;存在就覆盖已经存在value
    • d.update(red=1)

    四、字典的删除

    • d.pop(key):key存在就移除,并返回它的value值,不存在返回默认值,没有默认值就抛异常
    • d.popitem(): 移除并返回一个任意的键值对,字典为空,抛出异常ValueError
    • d.clear():清空字典

    五、字典遍历

    • 遍历key:for k in d或者for k in d.keys()
    • 遍历value: for k in d: print(d[k])
    • 遍历item,即kv对: for item in d.items()或for k,v in d.items()
    • python3中,keys,values,items方法返回一个类似一个生成器的可迭代对象,不会把函数的返回结果复制到内存中
    • 举例:
    •   {1: 'a', 2: 'b'}
        >>> for k in d:
         print(k)
        1
        2
        >>> for k in d.keys():
         print(k) 
        1
        2
        >>> for k in d:
         print(d[k]) 
        a
        b
        >>> for item in d.items():
         print(item) 
        (1, 'a')
        (2, 'b')
        >>> for k,v in d.items():
         print(k,v) 
        1 a
        2 b
        >>>

    六、有序字典OrderedDict

    •  有序字典可以记录元素插入的顺序,打印的时候也是按照这个顺序输出打印
    • 举例:
      •  >>> from collections import OrderedDict
      •  >>> import random
      •  >>> d = {'banana':3,'apple':4,'pear':1,'orange':2}
      •  >>> print(d)
      •  {'pear': 1, 'apple': 4, 'orange': 2, 'banana': 3}
      •  >>> keys = list(d.keys())
      •  >>> keys
      •  ['pear', 'apple', 'orange', 'banana']
      •  >>> random.shuffle(keys)
      •  >>> print(keys)
      •  ['banana', 'orange', 'apple', 'pear']
      •  >>> od = OrderedDict()
      •  >>> for key in keys:
      •   od[key] = d[key]  
      •  >>> print(od)
      •  OrderedDict([('banana', 3), ('orange', 2), ('apple', 4), ('pear', 1)])
      •  >>> print(od.keys())
      •  odict_keys(['banana', 'orange', 'apple', 'pear'])
      •  >>>
  • 相关阅读:
    十,文献研读
    第十周博客作业
    【西北师大-2108Java】第八次作业成绩汇总
    【西北师大-2108Java】期中成绩汇总
    人脸识别性别的卷积神经网络
    主成分分析(PCA)原理详解
    使用KNN算法对鸢尾花数据集进行分类处理
    5.文献研读---基于教育数据挖掘的在线学习者 学业成绩预测建模研究--陈子健 朱晓亮
    4.文献研读---基于数据挖掘的学习者在线学习行为分析模型构建--卓荣庆 柏忠贤
    3.文献研读---基于Canvas Network开放数据集的MOOC学习分析--胡红梅 宗 阳
  • 原文地址:https://www.cnblogs.com/jiangzuofenghua/p/11379509.html
Copyright © 2011-2022 走看看