当前位置: 首页 / 技术分享 / 正文
好程序员Python教程学习之字典知识概述

2020-03-02

好程序员 Python教程 北京Python培训

  好程序员Python教程学习之字典知识概述,作为一门对新手友好、就业前景广阔的编程语言,Python一直深受人们青睐。想要学好Python需要从入门到进阶一点一点掌握,而繁杂的理论知识点让不少人伤脑筋。事实上,只要你理清知识关系,掌握其用法并尝试动手操作,就可以慢慢掌握。接下来小编就给大家分享好程序员Python教程中字典的相关知识。

Python5

  目前,在Python中只内置了一种映射类型:字典。除去那些不能哈希的类型的值(例如列表,字典和其他通过值而不是id比较的可变类型的值),其它值几乎都可用作字典的键。用于键的数字类型遵循数字比较的一般规则:如果两个数字键比较相等(比如11.0),那么它们视为同一个键。

  字典类型对象的构造

  字典对象可以通过将逗号分隔的键值对放置到{}或使用dict()构造。其中dict()有三种形式:

  1dict(**kwarg) 所有实参都是以关键字参数的形式传递。

  2dict(mapping, **kwarg) 接受第一个为映射类型的参数,其余(若有)都以关键字参数的形式传递。

  3dict(iterable, **kwarg) 接受一个可迭代类型的位置参数,此参数的元素必须是键值对,其余(若有)都以关键字参数的形式传递。

  字典对象是按如下构造的:

  1、如果没有提供位置参数,则构造空字典对象。

  2、如果提供的位置参数是映射类型的,则创建包含与该参数所包含的键值对的相同的字典。

  3、如果提供的位置参数是可迭代类型的,则构包含该参数中每个元素的第一个对象为键第二个对象为值的键值对的字典,如果键重复出现则最后出现的值为此键的值。这种情况下要求该参数中的元素本身必须是包含两个对象的可迭代类型的对象,并且元素的第一个对象必须是可哈希的。如果不满足此要求会报TypeError

  4、如果提供了关键字参数,则关键字参数表示的键值对加入到新创建的字典中,如果键已存在则用现在的值更新之前的值。

  字典类型支持的操作:

  list(d) 返回由字典d中所有键组成的列表;

  len(d) 返回字典d中键值对的个数;

  d[key] 返回字典d中对应于键key的值。如果键不存在则报KeyError。如果定义dict的子类时定义了一个方法__missing__(),假设dSub为该子类的对象,且key在给对象中不存在,那么dSub[key]操作就会调用__missing__(),并将键key作为参数。然后该操作返回或引发由调用__missing__ (key)返回或引发的任何内容。子类中不存在其他操作或方法调用__missing__()。如果没有定义_missing__(),则dSub[key]会引发KeyError。在子类中__missing__()必须定义为一个方法,不能是一个实例变量;

  d[key]=value 将字典d中键对应的值设为value,如果键key存在,则用value更新对应的值,否则插入键值对(key,value);

  del d[key] 将字典中键key对应的键值对移除,如果不存在该键则报KeyError;

  key in d 如果在字典中存在key则为True,否则为False;

  key not in d 如果在字典中不存在key则为True,否则为False。等同于not key in d;

  iter(d) 返回字典中键的一个迭代器。是iter(d.keys())的快捷方式;

  d.clear() 清除字典中所有键值对;

  d.copy() 返回字典d的一个浅拷贝;

  dict.fromkeys(iterable[, value]) 用来创建包含以itervale中元素为键value为值的键值对的字典,这是dict的类方法;

  d.get(key[, default]) 如果字典d包含键key,则返回键key对应的值,否则返回default,如果没有给定default则返回None;

  d.items() 返回字典的键值对的一个新视图;

  d.keys() 返回字典的键的一个新视图;

  d.pop(key[, default]) 如果key在字典d中,则从d中移除key对应的键值对并返回其对应的值,否则返回default。如果没有给出default的值,则报KeyError;

  d.popitem() 从字典d中移除并返回一个键值对。键值对的返回顺序为后进先出,即后加入的键值对先返回;

  reversed(d) 返回字典d的键的一个逆序迭代器;

  d.setdefault(key[, default]) 如果键key在字典中,则返回其对应的值,否则将键值对(key,default)插入d中。default缺省为None;

  d.update([other]) 使用other中的键值对更新字典,对存在的键的值进行覆盖,键不存在的插入键值对。返回None。其中other可以是字典对象,也可以是包含键值对的可迭代对象,或是关键字形式的参数;

  d.values() 返回字典d中值的一个新视图。字典的一个值视图和另一个值视图的相等性比较总是返回False,包括自己和自己比较。

  字典只是Python基础中的一个知识点,除此之外你还需要掌握引用、对象、数据类型、传递等。更重要的是你要了解其使用方法以及相关实战经验。如果你想快速理论与实战兼备,可以来好程序员Python培训班,跟随专业大牛讲师学习、掌握更高端潮流的技能,好程序员还准备了大量免费Python教程供大家参考学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 分享大厂面试心得
  • · 汇聚企业项目源码
  • · 下载全套高精尖教程

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2020-11-16(北京)

    预约报名

    开班时间:2020-09-14(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2020-11-16(深圳)

    预约报名

    开班时间:2020-11-09(北京)

    预约报名
  • JavaEE分布式开发 <高端班>

    开班时间:2020-12-07(北京)

    预约报名

    开班时间:2020-07-20(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2020-07-20(上海)

    开班盛况

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2019-07-22(北京)

    开班盛况

    开班时间:2019-07-15(深圳)

    开班盛况
在线咨询
免费试听
入学教程
立即报名

Copyright 2011-2020 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公安网11010802011455号