Python 列表项的索引
我有一个自定义类,我已经做了。我从那门课中列出一张清单:Python 列表项的索引,python,list,Python,List,我有一个自定义类,我已经做了。我从那门课中列出一张清单: 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 __i
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
我可以得到婴儿网格作为一个列表。这里的代码只是打印:
>>>[2]
但我真正想要的只是:
>>>二,
我如何才能做到这一点,而不必到处写baby_grid[0]
我刚刚添加了这个小函数
def get_int_from_list(list_thing):
return list_thing[0]
我只是想知道是否有一种我不知道的方法可以让我的代码变得非常简洁。如果你有更好的方法,我希望你能看到代码 您的
婴儿网格是否总是由一个项目组成?如果是这样,你可以简单地做
baby_grid = [i for i, j in grid if j.tag == "Baby_Bear"][0]
我不知道它有多像蟒蛇,但你可以用老式的方式:
for i, j in grid:
if j.tag == "Baby_Bear":
return i
是 啊我尽量避免这样。我有这样的代码elif-grid[mama\u-grid[0]].敌方杀死了[u-bool==False和格网[papa\u-grid[0].敌方杀死了[u-bool==False:grid[baby\u-grid[0].一直在这里[u-text=”小熊很高兴仍然有它的父母。”
那么你应该在你的问题中包含这些信息。哦,对不起。我现在要补充。到底是什么问题?你的函数调用所需的时间与写列表名和切片所需的时间一样多。直到我发布了这个问题之后,我才真正想到要写函数。我已经研究了一个小时,但我不认为这是一个解决方案。是的,它会的。谢谢你,先生。如果'j.tag!=“Baby_Bear”您将得到一个索引错误,我认为对于单个值,有更好的方法分配给变量