zoukankan      html  css  js  c++  java
  • 哈希和不可哈希

    def make_album(singer,album,songs_num=''):
        if songs_num!='':
            return {'album':album,'singer':singer,'songs_num':songs_num}
        else:
            return {'album':album,'singer':singer}
        
    albulm1=make_album(singer='周杰伦',album='七里香')
    albulm2=make_album(singer='周杰伦',album='范特西')
    albulm3=make_album(singer='周杰伦',album='牛仔很忙',songs_num=10)
    
    albulm_set={albulm1,albulm2,albulm3}
    print(albulm_set)

      运行后提示错误albulm_set={albulm1,albulm2,albulm3},TypeError: unhashable type: 'dict'      这里报错因为字典是不可哈希的类型.

    以下来自:  https://www.cnblogs.com/liangmingshen/p/10889172.html

    什么是可哈希(hashable)?

    • 简要的说可哈希的数据类型,即不可变的数据结构(字符串str、元组tuple、对象集objects)。

      哈希有啥作用?

    • 它是一个将大体量数据转化为很小数据的过程,甚至可以仅仅是一个数字,以便我们可以用在固定的时间复杂度下查询它,所以,哈希对高效的算法和数据结构很重要。

    什么是不可哈希(unhashable)?

    • 同理,不可哈希的数据类型,即可变的数据结构 (字典dict,列表list,集合set)  
  • 相关阅读:
    Java IO2
    Java IO1 复制粘贴文件
    Java superArray2
    17杭州女子专场赛
    组队赛 A Promotions 深搜+逆向思维
    Java处理异常小试
    再谈Dijkstra算法和堆优化
    仿照JAVA vector模型写一个SuperArray
    HDU 2017女生赛04 (变形最短路)
    Gym-100712J 桶排序思想&反向思维
  • 原文地址:https://www.cnblogs.com/sunnydaybyday/p/15790052.html
Copyright © 2011-2022 走看看