2024-06-01 12:39:47 发布
网友
我该如何创建一个函数,在运行时根据初始用户输入创建特定数量的唯一命名变量?例如,用户输入尺寸400x400,(x和y),所以我希望函数创建1600(400*400)个变量,每个变量代表网格上400×400上的每个不同点。在
您确定需要为网格上的每个点创建不同的变量吗?如果有很多默认值为0的点,不要创建一个由0组成的数组,而是创建一个空字典D = {}。将数据存储为D[(x,y)] = anything。通过D.get((x,y), 0)访问您的数据。其中D.get(key, default value)这可以节省内存。在
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)]
然后在你的领域中访问点如下:
设定点(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)]
您确定需要为网格上的每个点创建不同的变量吗?如果有很多默认值为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的类对象列表。在
你可以这样做:
然后在你的领域中访问点如下:
^{pr2}$设定点(123105)到7。在
如果您想在每个点存储不止一个数字,请创建一个像我建议的类:
然后创建“MyClass”对象列表,如下所示:
相关问题 更多 >
编程相关推荐