• Python核心编程学习笔记之映射类型(上)


     根据核心编程第二版学习Python3.x的内容,可能有些欠缺,有些方法在3.x中已经不提供了,就暂时先略过了。等以后再对比2.x和3.x的区别,作下笔记吧

    1.    Python中字典的定位:

    a)      字典是python中唯一的映射类型,通常被认为是可变的哈希表。

    b)     字典对象是可变的,能存储任意多个python对象。

    c)      字典是Python中最强大的数据类型之一

    2.    字典(dict)和序列类型容器类(列表和元组)的区别:

    a)      存储和访问数据的方式不同,序列类型只用数字类型的键,映射可以使用其他对象类型作为键,比如数字和字符串,也可以混用数字和字符串作为键;

    b)     字典中的数据是无需排列的,序列中的数据时有序的。

    3.    如何得到dict的有序集合:

    字典(dict)中的有序集合只能是键的集合或者值得集合。方法keys()或value()返回一个列表,是可排序的。还可以使用items()得到包含键值对的元组的列表排序

    4.    字典(dict)的语法:

    语法格式: 键:值  一个键值对成为一个元素

    a)      >>>dict1={}  à创建一个空值的字典

    b)     >>>dict1={‘key’:’value’}  à设置字典的键值对

    c)      >>>dict1={‘key1’:’value1’}  à 这样dict1又重新映射到{‘key1’:’value1’}。{‘key’:’value’}就作废了。

    d)      >>>dict1[‘key2’]=’value2’  à 如果字典中不存在该键就添加新的键值对,存在该键就会替换掉原来的值。如果dict1还未赋过值,则这句话会报错

    e)      >>>deldict1[‘key2’]  à删除字典对象中键为“key2”的条目

    f)       >>>dict1.clear()  à清空dict1中的所有内容

    g)      >>>del dict1  à删除dict1

    h)     >>>dict1.pop(‘key1’)  à删除并返回键为‘key1’的值

    笔记提醒:

           避免使用内建的对象名字作为变量的标示符。虽然编译器允许,但是你能确定你不出错吗?

    5.    Python怎么查找值呢?

    对了通过键查找,就像这样dict1[‘key1’],当然你得有dict1这个对象并且还得有键”key1”才行哦!!否则有错哦!!

     

           好像还有件事,我怎么确定字典中是否有”key1”或者”key3”键呢?

       差点忘了,看这

    >>>’key1’ in dict1  à存在”key1”键,返回True,否则就返回False


    6.    字典的内建函数和工厂函数

    标准类型函数【type()、str()】

    type()和str()比较简单,type(对象)  à 返回对象类型

    str(对象) à返回字符串!看图知道有啥区别了吧


    PS:cmp()在3.x中不支持,网传的(a>b)- (a<b) 出错,暂时跳过,等待中


    字典对象间比较顺序为:字典长度à字典键à字典值,全都相同时,返回0值。

     【dict()、len()】

    dict() 工厂函数被用来创建字典。如果不提供参数,会生成空字典。当容器类型对象做为一个参数传 递给方法 dict() 时很有意思。如果参数是可以迭代的,即,一个序列,或是一个迭代器,或是一个 支持迭代的对象,那每个可迭代的元素必须成对出现。在每个值对中,第一个元素是字典的键、第二个元素是字典中的值。见 Python 文档里关于 dict()的例子:

    >>> dict(zip(('x','y'), (1, 2)))
    {'y': 2, 'x': 1}
    >>> dict([['x', 1], ['y', 2]])
    {'y': 2, 'x': 1}
    >>> dict([('xy'[i-1], i) for i in range(1,3)])
    {'y': 2, 'x': 1}

     

     len() 可以用在序列、映像和集合上,对字典调用len()会返回所有元素的数据。

  • 相关阅读:
    array_flip
    qy Undefied index报错
    strip_tag
    query使用
    tp5 sql 大于小于
    OfficeTools.OnlineEditWord
    OCX控件打包成CAB并实现数字签名过程
    使用css技术代替传统的frame技术
    delphi常用函数和方法
    js正则表达使用实例
  • 原文地址:https://www.cnblogs.com/JZZ1026/p/4417331.html
Copyright © 2020-2023  润新知