我目前正在通过为 MCedit python 程序编写过滤器来学习 python,MCedit python 程序是 Minecraft 的 3D 块编辑器。过滤器是可以作为函数在程序内部运行的小段代码。
MCedit 提供的功能之一允许提取原理图(此处命名为 temp)以对其进行修改。在演示中,程序的创建者修改原理图的块属性,通过以下行:
temp.blocks[temp.blocks == 14] = 52
.blocks 属性由 3 层 (x, y, z) 上的串联列表组成。
这段代码将任何列表中等于 14 的任何值替换为 52。
我试图让它改变其他值,用:
temp.blocks[temp.blocks == 14 or temp.blocks == 15] = 52
但它根本行不通。
我知道还有其他方法可以做到这一点,但是这个特别简单、紧凑和高效,我想了解它是如何工作的。