zoukankan      html  css  js  c++  java
  • Python Hashtable的理解

           一个对象当其生命周期内的hash值不发生改变,而且可以跟其他对象进行比较时,这个对象就是Hashtable的。两者Hashtable的对象只有具有相同的hash值时才能判断为相同的对象。

    1.      python中的基本类型都是Hashtable,比如str,bytes,数字类型等;
    2. 用户自定义的类型默认情况下都是hashtable,因为他们的hash值就是他们的id()值;
    3. frozenset始终都是hashtable的,因为他们所有的项目都是被定义成hashtable的;
    4. 只有当元组内的所有项都是hashtalbe时,元祖才是hashtalbe.具体请参见下面的例子
    if __name__ == '__main__':
        tt = (1,2, (30, 40))
        print(hash(tt))
    
        tf = (1, 2, frozenset([30, 40]))
        print(hash(tf))
    
        tl = (1, 2, [30, 40])
        print(hash(tl))

    运行的结果如下:

    8027212646858338501

    -4118419923444501110


    Traceback (most recent call last):

    File "C:/Users/Administrator/PycharmProjects/collections/abc111.py", line 19, in <module>

       print(hash(tl))
    TypeError: unhashable type: 'list'

  • 相关阅读:
    win10使用WampServer部署magento
    JavaScript的this详解
    jQuery的css
    jQuery.cssHooks
    jQuery属性
    jQuery选择器
    ajax中的stasus错误详解
    ajax
    js数组中的注意
    js的严格模式
  • 原文地址:https://www.cnblogs.com/liaofeifight/p/6736956.html
Copyright © 2011-2022 走看看