我创建了多个数组并希望向它们添加内容,但是用户应该选择要附加到哪个数组。
所以澄清一下我的意思:(下面的代码是错误的,但我不知道怎么写它。)
def loadImages(self,pName,pAnz,pScaleX,pScaleY):
for i in range(0,pAnz):
tux = pygame.transform.scale(pygame.image.load('./images/%s.png'),(pScaleX,pScaleY) % pName)
self.%s.append(tux) %pName
length_array = len(self.%s) %pName
return length_array
编辑:
@Jim Fasarakis-Hilliard
我正在尝试在PyGame中编程。 因此,我必须将我想要使用的所有图像初始化。
为了不扩展它,我想创建一个函数,你可以轻松地附加到你想要的任何数组,所以我不必每次想要新图片时都创建一个新函数。
我的代码看起来像这个atm。:
class MyT4TempGen {
public string run() {
inside here is code that uses a string builder to build up all your <# #> tags into one big statement
}
from here down all your <#+ #> tags are added
namespace Learn {
public class Converter {
}
}
}
答案 0 :(得分:2)
您可以使用globals
,将变量名称的字符串传递给函数:
def test(pName):
globals()[pName].append(1)
test('y')
当然,这取决于全球范围内存在的名称。
答案 1 :(得分:2)
您可以将数组放入字典中。假设有一个固定数量的数组,代码看起来像这样:
arrays = {}
arrays['x'] = []
arrays['y'] = []
def test(pName):
arrays[pName].append(1)
test('y')
您需要检查用户输入,因为不是字典中的键的pName将引发键异常。如果您希望数组是动态的,您可以这样做:
arrays={}
def test(pName):
if pName not in arrays.keys():
arrays[pName]=[]
arrays[pName].append(1)
test('y')
答案 2 :(得分:1)
如果您只想将对象保存到不同的“名称空间”,则可以使用词典:
lists = {
"x": [],
"y": []
}
def test(pName):
lists[pName].append(1)
test("y")
比使用全局或类似物更清洁,更容易理解恕我直言。