访问类实例所在的数组的类方法

时间:2015-06-23 19:00:13

标签: python class python-2.7

使用python 2.7-我有一个文件main.py,它有点像

from tile import Tile
l = [Tile(), Tile(), Tile()]

其中tile.py包含Tile类。我需要Tile类来访问主文件中的l。例如,我可以:

  • 在Tile中编写一个方法,在列表中返回Tile之前的Tile实例。
  • 我可以在Tile中编写一个方法,返回其所在列表中的所有其他Tile实例。

无论类实例在哪个列表中,这些都可以工作。这可以在python中完成吗?

修改

完全我正在尝试做什么:我有一个Tile课程。 world是一个二维数组,一个列表列表。列表包含Tile个类对象。我正在尝试实现TilereturnNeighbors()的方法,该方法将切片返回到数组的顶部,底部,左侧和右侧。

1 个答案:

答案 0 :(得分:1)

除非您将其作为函数传递,否则无法从类内部访问列表。你可以试试,但正如其他人所说,这通常意味着设计很糟糕,你应该重新考虑它。

<inside the class Tile>
# function for the first use-case in your question
def your_function(self, your_list):
    return your_list[your_list.index(self) -1]

# second use-case
def your_other_function(self, your_list):
    temp = your_list
    temp.remove(self)
    return temp