为什么FrozenList和tuple不同?

pandas.core.base导入FrozenList中的


类型:类型
字符串形式:<类“pandas.core.base.FrozenList”>
文件:/site packages/pandas/core/base.py
文档字符串:
不允许设置项*但*
因为它在技术上是不可散列的,所以将使用
适当地进行查找等。

为什么不直接使用元组呢?FrozenList会提供哪些额外功能

这是一个内部结构。不使用元组,因为:

  • 它继承自一个公共类
  • 其可定制(例如repr)
  • 它没有一个元组的所有函数(有些是禁用的)
  • 它不可散列(因此这里更像一个列表,而不是元组)

构造用于表示多索引级别、标签和名称。它的目的是防止修改这些thru属性,并强制使用方法(例如set\u levels())。因为它们的状态不能单独更改(对于标高/标签),但必须一起更改

但这些都是“公共”属性,因此它需要一个访问机制来完成所有这一切(但出于性能原因,如果必要,仍然可以在内部进行更改)

发表评论