我知道没有冻结的dict数据类型但是如果有一个与namedtuple有什么不同。在我看来,namedtuple执行所需的操作,但显然它没有。那有什么不同呢?
答案 0 :(得分:10)
从API的角度来看,可能并不多:
namedtuple
键总是字符串,但有一些限制:任何有效的Python标识符都可以用于字段名,除了 以下划线开头的名称。有效标识符包括 字母,数字和下划线但不以数字或开头 下划线,不能是关键字,如class,for,return,global, 通过,或提高。
namedtuple
始终可以作为常规元组进行访问。在内部他们非常不同:
命名的元组实例没有每个实例的字典,所以它们 是轻量级的,不需要比常规元组更多的内存。
答案 1 :(得分:0)
区别很简单:Dictionary
不是Tuple
。这是两种完全不同的数据结构。