【发布时间】:2013-08-06 16:21:37
【问题描述】:
我目前正在通过为 MCedit python 程序(Minecraft 的 3D 块编辑器)编写过滤器来学习 python。 过滤器是可以作为函数在程序内部运行的小段代码。
MCedit 提供的功能之一允许提取原理图(此处命名为 temp)以对其进行修改。在demo中,程序的创建者修改原理图的block属性,修改如下:
temp.blocks[temp.blocks == 14] = 52
.blocks 属性由连接列表组成,位于 3 层(x、y、z)上。
这段代码将任何列表中等于 14 的任何值替换为 52。
我试图让它改变其他值,用:
temp.blocks[temp.blocks == 14 or temp.blocks == 15] = 52
但它根本不起作用。
我知道还有其他方法可以做到这一点,但是这个特别简单、紧凑和高效,我想了解它是如何工作的。
【问题讨论】:
-
这看起来很像 NumPy。
temp.blocks实际上是由嵌套列表组成的,还是 NumPy ndarray? -
@user2357112:我确实在编辑器源代码中看到了
numpy依赖项。
标签: python list syntax minecraft