列表项的索引

时间:2014-07-18 23:58:25

标签: 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 __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]

我只是想知道是否有一种我不知道的方法可以使我的代码真正简洁。如果你有更好的方法,我会爱你,看到那些代码。

2 个答案:

答案 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