出于某种原因,我不记得如何做到这一点 - 我相信有一种方法可以在Python中设置变量,如果条件为真的话?我的意思是:
value = 'Test' if 1 == 1
Run Code Online (Sandbox Code Playgroud)
如果条件(1 == 1)为真,它有望将值设置为'Test'.有了这个,我打算测试多个条件来设置不同的变量,如下所示:
value = ('test' if 1 == 1, 'testtwo' if 2 == 2)
Run Code Online (Sandbox Code Playgroud)
等等只是为了几个条件.这可能吗?
所以我在处理Python中的for循环时遇到了一些麻烦 - 据我所知,随着时间的推移,它们会越来越慢.我在一个范围内循环,随着时间的推移,循环显着减慢.如果重要的话,这是在游戏引擎内部完成的.谁能告诉我这是什么问题?
这是一个简单的例子.
for x in range(xs): # xs, ys, and zs are all pre-determined size values
for z in range(zs):
for y in range(ys):
vp = [x * vs, y * vs, z * vs]
v = Cube(vp)
Run Code Online (Sandbox Code Playgroud)
这个过程的初始速度很好,但随着时间的推移,循环速度变慢.我知道它不是游戏引擎的Rasterizer,因为当循环完成时,引擎的其余部分以60 FPS运行.那可能是什么问题呢?
编辑:我使用的是Python 3,所以没有xrange.
编辑2:对于此示例,vs为1.0,并且xs,ys和zs的预定大小值均为20.