【问题标题】:Python: Create an element inside an elementPython:在元素内创建元素
【发布时间】:2018-03-19 22:19:26
【问题描述】:

因此,对于学校项目,我必须创建一些运动场,然后必须对其进行检查。

我的想法是在python中添加一个网格,只是一个简单的列表

grid = ([[' ',' ',' ',' ',' ',' '],
         [' ',' ',' ',' ',' ',' '],
         [' ',' ',' ',' ',' ',' '],
         [' ',' ',' ',' ',' ',' '],
         [' ',' ',' ',' ',' ',' '],
         [' ',' ',' ',' ',' ',' ']])

如您所见,它有 6 个元素,每个元素包含 6 个空格。 grid.insert 仅适用于添加元素,但不适用于这些“元素元素”。

这个想法是,当,

if x == 25 and y == 25:

那么网格就变成了:

([['1',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ']])

这在python中甚至可能吗?还是我应该寻找一种不同的方法来解决这个问题?

我希望这是足够的信息,否则我很乐意为您提供更多信息!

【问题讨论】:

  • 25有什么意义?你的意思是当x == 5 and y == 5
  • 为什么x和y都为25的时候要改项目[0][0]?
  • 欢迎来到 *。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topichow to ask 在这里申请。还有许多其他帖子展示了如何初始化这样的二维列表。你在哪里被这些困住了?
  • @DyZ。这是一个蟒蛇龟项目。我们必须在海龟中创建一个非图,当单击一个正方形时,它会变成黑色。正方形是 25x25,我只是以 x =25 为例。但为了让它变得更好:当 x 和 y 都为 0 时,[0][0] 必须变成 1...至少我认为这很容易..
  • 好的,但这仍然不能解释为什么 x=25, y=25 映射到 6x6 网格的第 0 行第 0 列。

标签: python list indexing


【解决方案1】:

首先,您可以使用嵌套在其中的 for 循环来创建数组,例如

grid = [(["*",]*6)for i in range(6)]

然后追加就行了

grid[0][0] = 1

也许打印出来的另一个想法是

rowFormat=("{:<5}")*6
for i in range(len(grid)):
   print(rowFormat.format(*grid[i]))

类似的东西。希望有帮助

【讨论】:

    【解决方案2】:

    如果您知道要更改的点,则可以通过直接引用该点来做到这一点,例如

    grid[0][1] = 1
    

    第一个括号是哪个列表,然后第二个括号是该列表中的索引 或者,如果您尝试检查空格中的值,您可以以类似的方式使用引用

    if grid[0][1] == "1":
        Do Stuff
    

    否则我不确定你要的是什么......

    【讨论】:

    • 是的,这正是我的意思!我很抱歉我用文字表达的方式,我对编程有点陌生,我在学校的老师认为每个人都是 Python 编码之神。谢谢你的回答!
    【解决方案3】:

    要访问列表的元素,您可以使用my_list[i],其中i 是您要访问的元素的位置。要访问列表元素中的元素,可以使用my_list[i][j],其中i 是*别元素的位置,j 是元素在元素中的位置。请注意,列表的第一个位置是0 而不是1。然后,您可以将此元素更改为您希望它包含的任何内容,方法是将其设置为等于某值。

    【讨论】: