gpt4 book ai didi

python - NamedTuple 声明并在一行中使用

转载 作者:太空狗 更新时间:2023-10-29 22:15:52 24 4
gpt4 key购买 nike

我想存储一个维度 namedtuple (x, y)。在我的整个程序中我只需要一次。

我能做到:

Dimension = namedtuple('Dimension', ['x', 'y'])
dim = Dimension(2, 3)

但是,因为我确定这是我在整个程序中唯一需要的 Dimension,所以我想知道我是否可以将它变成一个单行代码,返回一个我可以返回其属性的对象像 dim.xdim.y 一样访问?

最佳答案

不需要临时名称Dimension:

dim = namedtuple('Dimension', ['x', 'y'])(2, 3)

或者,您可以使用 type 的三参数形式创建一个新类并创建它的一个实例:

dim = type('Dimension', (object,), {'x': 2, 'y': 3})()

此对象将使用更多内存,但与 namedtuple 不同,它将是可变的(这对您的用例来说可能是好事,也可能不是好事)。它还保存了一个导入

关于python - NamedTuple 声明并在一行中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26405064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com