在Python中,如何在循环中创建大量变量?

Lui*_*gar -1 python variables loops python-3.x

我正在寻找一种方法,在python 3.2中,创建大量变量并为它们赋值.就像是

X = 10
Y = 10
A = 0
B = 0
while X >= 0:
    while Y >= 0:
        cell[C]X[A] = A
        cell[C]Y[B] = B
        B = B + 1
        Y = Y - 1
        C = C + 1
    A = A + 1
    X = X - 1
Run Code Online (Sandbox Code Playgroud)

哪个最佳地创建200个变量的cell1X1,cell1Y1,cell2X1,cell2Y2等等.

这可能吗?怎么做?

请记住,我仍然是python的新手,所以请尽可能简单.

此外,虽然我知道还有其他方法可以做到这一点,而且他们可能更好,我仍然想知道如何以这种方式做事.

我理解字典可能会以各种可能的方式更好,但这不是我要求的.

谢谢您的帮助.

编辑:当我说新的python时,我的意思是说一般的编程新手.喜欢很新.就像,刚刚学会了如何编写函数.

Joh*_*n Y 10

老实说,这个问题的唯一合理答案是:不要这样做,并学习如何使用词典.

我相信这也是最有帮助的答案.你已经在你的问题中说过:(1)你是Python的新手,(2)你是一般的编程新手,(3)你接受词典可能你所要求的各方面都更好.

你说你要求"出于学习目的".嗯,更有成效的方法是首先学习更多的语言,然后坚持一种方法来做一些你承认不被语言本身鼓励的事情,并且当然不会被提出他们的评论和答案的任何人鼓励.

在这种情况下,了解字典的工作原理.我想你不会觉得它们那么复杂.即使你这样做,无论如何都要花时间和精力来真正理解它们,因为词典是Python的一个非常基本的特性.它们在Python中被广泛使用,即使你不坚持使用Python,许多其他语言也会使用相同的概念(尽管经常使用不同的名称,例如"associative array","hash","表"或者其他东西".

在您熟悉字典本身之后,如果您仍然无法弄清楚如何将它们应用于某些特定的编程问题,那么也许是时候提出另一个问题.


And*_*ffe 5

像其他人一样说:不要那样做.不幸的是,你的程序没有办法让变量的名称本身依赖于变量(实际上,有很多方法可以做到这一点,但它很复杂,很少是正确的方法).

重要的是要指出你不应该这样做的原因不仅仅是因为它在Python中很复杂,而是想要这样做,这表明对代码之间大多数语言的区别存在根本的误解(包括事物的名称)在语言中)和数据(事物的可变值).

在这种情况下,您实际需要的是字典,列表或类似的东西:

至少在你的榜样,你只得到了两个各种各样的事情,你拨打cell[C]X[A]cell[C]Y[B].你可以只让这些变成cellX[A,B]cellY[A,B]它是完全有效的Python结构.

所以在循环之前,执行此操作,初始化一个空字典.

cellX = {}
cellY = {}
Run Code Online (Sandbox Code Playgroud)

然后,在循环内,你可以拥有

 cellX[C,A]=A
 cellY[C,B]=B
Run Code Online (Sandbox Code Playgroud)

还要注意你的循环,就像现在一样,不是非常"pythonic".你应该考虑像循环一样for X in range(10,-1,-1):