运行时变量创建Python 3.1.2

2024-06-01 12:39:47 发布

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

我该如何创建一个函数,在运行时根据初始用户输入创建特定数量的唯一命名变量?例如,用户输入尺寸400x400,(x和y),所以我希望函数创建1600(400*400)个变量,每个变量代表网格上400×400上的每个不同点。在


Tags: 函数用户网格数量尺寸代表命名不同点
2条回答

您确定需要为网格上的每个点创建不同的变量吗?如果有很多默认值为0的点,不要创建一个由0组成的数组,而是创建一个空字典D = {}。将数据存储为D[(x,y)] = anything。通过D.get((x,y), 0)访问您的数据。其中D.get(key, default value)这可以节省内存。在

顺便说一句,400*400不是1600。相当于16万

你真正想要的是一个数组,一个列表或者一个400*400点的元组。在

因此,创建一个类,在每个点上存储所需的信息,然后创建一个大小为400*400的类对象列表。在

你可以这样做:

width = 400
height = 400
m = [[0]*width for i in range(height)]

然后在你的领域中访问点如下:

^{pr2}$

设定点(123105)到7。在

如果您想在每个点存储不止一个数字,请创建一个像我建议的类:

class MyClass:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

然后创建“MyClass”对象列表,如下所示:

m = [[MyClass(0,0,0) for i in range(400)] for j in range(400)]

相关问题 更多 >