半整数索引

2024-04-23 20:24:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python开发一个流体动力学模拟工具。传统上(至少在我的领域中),整数索引指的是单元格的中心。一些量存储在单元之间的面上,文献中用半整数指数表示。然而,在代码中,它们被转换成整数以适应数组。问题是,移位并不总是一致的:你是加一半还是减一半?如果在代码之间切换的次数足够多,则很快就无法跟踪任何特定代码的约定。老实说,每个代码中都有足够多的奇怪约定,消除一些约定会有很大帮助。。。但如果补救措施比原来的问题更糟的话就不行了。你知道吗

我曾考虑过用偶数指数表示细胞中心,用奇数表示人脸,但这是违反直觉的。而且,数量很少同时存在于两个面和细胞中心,所以你从不使用一半的索引。您也可以实现函数加半(i)和减半(i),但这会变得冗长和不雅(至少在我看来)。当然,浮点比较总是有问题的,以防有人在计算1/2的时候变得可爱。你知道吗

有人对在Python中实现半整数索引的优雅方法有什么建议吗?我肯定我不是第一个希望这样做的人,但我从来没有见过这样一个简单的方式,对用户来说是显而易见的(不需要用户记住你选择的轮班惯例)。你知道吗

澄清一下:我假设可能有一个重映射步骤对用户隐藏,以获得整数索引(我打算为我的数据网格包装NumPy数组)。我考虑的是向用户公开的界面,而不是数据的存储方式。你知道吗


Tags: 工具数据代码用户方式整数数组传统