繁体   English   中英

你如何在 python 中创建一个类或函数,允许你创建具有特定特征的序列类型

[英]How do you create a class, or function in python that allows you to make a sequence type with specific characteristics

1)我的目标是创建一个序列,它是一个包含有序字典的列表。 对我来说唯一的问题将在下面描述。

  • 我希望该列表代表一堆“点”,它们出于所有意图和目的只是一个有序的字典。 但是,我注意到当我使用 OrderedDict 类时,当我打印字典时,它会显示为 OrderedDict([key value pair 1, key value pair 2, ... etc)] 对我来说,我宁愿它表现得像一个有序字典,但没有那些双重“凌乱/丑陋”“结束标记”,即“[( )]”。 我不介意这些点是否只有一种类型的“结束标记”。 此外,如果我打印此数据类型时, OrderedDict()类的东西没有出现,我也希望如此。 但是,我不介意它是否出现在返回值中。 就像您知道如何打印列表时它不会显示为list(index0, index1, ... etc)而是显示为[index0, index1, ... etc] 这就是我的意思。 在点内,它看起来像这样

point = {'height': 1, 'weight': 3, 'age': 5, etc} <- 可以是方括号、大括号或圆括号。 只是某种类型的“结束标记”,但我更希望它在 {} 中,并且具有由 key: value 指示的键值对,并用逗号分隔它们。

what_i_am_looking_for = [point0, point1, point2, point3, ... etc]

在 Python 3.6 中,普通的dict实现被重写,并像OrderedDict一样维护键插入顺序,但被认为是一个实现细节。 Python 3.7 将此功能作为语言规范的官方部分,因此如果您使用 Python 3.6+,如果您不关心与 Python 3.5 或更早版本的向后兼容性,只需使用dict而不是OrderedDict

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM