我有一个自定义课程。我列出了那个班级的名单:
grid = []
def make_grid(r,c):
global grid
grid = [grid_object(x,y) for x in range(r) for y in range(c)]#Thanks Adam
make_grid(row, columns) #this makes the grid
class grid_object(object):#Thanks Adam
def __init__(self, x, y):
self.x, self.y = x, y
self.item = "Blank"
self.tag = "Nothing"
我想为一个副任务保留几个网格索引。下面我只展示了一个。
baby_grid = ''
def baby_side_quest():
global grid
global baby_grid
baby_grid = [i for i, j in grid if j.tag == "Baby_Bear"]
print baby_grid
我可以将baby_grid作为列表。这里的代码只是打印出来:
>>> [2]
但我真正想要的只是:
>>> 2
我怎么能这样做而不必到处写baby_grid [0]?
我刚添加了这个小功能。
def get_int_from_list(list_thing):
return list_thing[0]
我只是想知道是否有一种我不知道的方法可以使我的代码真正简洁。如果你有更好的方法,我会爱你,看到那些代码。
答案 0 :(得分:1)
您的baby_grid
是否只包含一个项目?如果是这样,你可以简单地做
baby_grid = [i for i, j in grid if j.tag == "Baby_Bear"][0]
答案 1 :(得分:1)
我不知道pythonic是如何被考虑的,但你可以用老式的方式做到这一点:
for i, j in grid:
if j.tag == "Baby_Bear":
return i