• lodestar
    2023-07-02 来自甘肃
    老师,python支持hash吗

    作者回复: Python是支持哈希(hash)的。在Python中,可以使用内置的哈希函数或通过实现自定义的哈希函数来进行哈希操作。 对于内置的哈希函数,你可以使用`hash()`来对大多数Python的内置数据类型进行哈希操作。例如,你可以对字符串、整数、浮点数等类型进行哈希: print(hash("hello")) print(hash(42)) print(hash(3.14)) User Avatar 是的,Python是支持哈希(hash)的。在Python中,可以使用内置的哈希函数或通过实现自定义的哈希函数来进行哈希操作。 对于内置的哈希函数,你可以使用`hash()`来对大多数Python的内置数据类型进行哈希操作。例如,你可以对字符串、整数、浮点数等类型进行哈希: print(hash("hello")) print(hash(42)) print(hash(3.14)) 这些内置函数会返回对象的哈希值,通常是一个整数。需要注意的是,哈希值是对应于对象的一种表示,具有唯一性和不可逆性。同一对象每次哈希的结果应该是一样的。 此外,Python还提供了一些可哈希的内置类型,如字典(dict)和集合(set)的变种,即字典的键和集合的元素必须是可哈希的。 如果需要自定义哈希函数,你可以通过实现`__hash__()`方法来定义自己的哈希算法。该方法应该返回一个整数作为对象的哈希值。 class MyClass: def __init__(self, value): self.value = value def __hash__(self): return hash(self.value) obj = MyClass(42) print(hash(obj)) 上述示例中,我们在自定义的类`MyClass`中实现了`__hash__()`方法,使其返回对象`value`的哈希值。这样就可以通过调用`hash(obj)`来获取对象的哈希值。 需要注意的是,对象的哈希值与其内容密切相关。如果是可变对象,即内容可变的对象,在对象被修改后,它的哈希值可能会改变。为了避免将可变对象用作哈希键或元素,可以考虑使用不可变的数据类型,如字符串或元组。

    
    
  • 白开水
    2022-12-08 来自广东
    算法涉及到的哈希,二叉树等这里没有涉及,这些是怎么划分的

    作者回复: 数据类型的划分,其实是多个数据类型有相似的特征,才将它们划分成一组,比如列表和元组、字符串它们三个都能索引,所以作者将索引作为序列的特性,将列表、元组、字符串归属到序列这一组。实际上每个数据类型都有其特有的能力。 算法的话,语言也只做底层的支持,即判断、循环、递归,更高层次的还是得看具体实现的数据类型用了哪些算法。这个没有在语言层面具体划分过

    
    
  • Geek_da56ed
    2022-12-02 来自广东
    请问老师range和序列与映射相比,有什么独特的特性吗?

    作者回复: 首先, range 是具体的数据类型,也就是说,可以使用 range() 函数直接产生一个数值范围,而序列和映射是指的有相同特性的一组数据类型, 比如字符串 元组 都可以通过下标访问, 那么 字符串和元组都有下标访问特性, 序列就是包含了下标、切片、包含特性的三个具体数据类型组成的,序列中包含了列表、元组和range。 range()独特的特性,应该就是它总是占用比较小的内存,不管定义的范围有多大,每次只根据定义的数值范围产生一个数值(访问一次,产生一个数值)。这是我们一般使用range() 关注的最重要的特性。 关于range() 其他特性,可以参考官方文档 https://docs.python.org/zh-cn/3/library/stdtypes.html#range

    
    
  • xinn
    2022-11-24 来自广东
    1、字典 2、列表 3、用string可以吗? 看大家都用元祖

    作者回复: 3 当然可以

    
    
  • 凡之
    2023-07-21 来自北京
    #请你根据以下需求,选择一个合适的数据类型。 开发通讯录工具,需要存储姓名和手机号码。 #dict类型比较适合比如:{'小明':'188888888','小红':'aaaaaaa'} 开发电商程序,需要存储商品的种类。 #这个得看数据存储方式了 单独存储列表也可以满足 比如 ['数码','日用','清洁'] #要求关联性的话 {'数码':['耳机','相机'],'日用':['牙膏']} 开发游戏,需要存储一段与 NPC 的对话。 #列表里边套字典比较合适比如现在比较火的gpt就有传递历史会话的需求 [{'role':'system','content': "你是一个乐于助手的助手"},{'role':'user','content': "你是谁"}]
    
    1
  • 张驰皓
    2023-08-28 来自北京
    1. 字典 2. 字符串 3. 列表(list)或者字符串
    
    
  • 浪客剑心
    2023-04-14 来自浙江
    1、字典 2、列表 3、元组
    
    
  • GeekNEO
    2023-02-19 来自浙江
    可以理解为容器,可变容器:list dict,不可变容器tuple,set。 上面的问答可以理解为为这些工具的数据设置那种容器: dict list tuple或者str都可以
    
    
  • yanyu-xin
    2023-01-05 来自广东
    1、用 dict,key是姓名,value用list 存多个电话号码 2、用 dict ,商品种类与商品名的映射 3、用 tuple ,固定不变的序列数据
    
    
  • Cy23
    2022-12-30 来自辽宁
    1.dict 2.dict 3.tuple
    
    