搜索嵌套列表中的项目,然后返回项目的索引

时间:2018-04-06 17:06:56

标签: python list indexing nested

所以我试图编写一个名为find_treasure的函数,它将2D列表作为参数。该函数的目的是搜索给定的2D列表并返回'x'所在位置的索引。

def find_treasure(my_list):

    str1 = 'x'
    if str1 in [j for i in (my_list) for j in i]:
    index = (j for i in my_list for j in i).index(str1)
    return(index)


treasure_map = [[' ', ' ', ' '], [' ', 'x', ' '], [' ', ' ', ' ']]

print(find_treasure(treasure_map))

但是,我似乎无法获得返回索引的函数,我尝试使用枚举函数,但要么我错误地使用它。

2 个答案:

答案 0 :(得分:0)

使用def find_treasure(my_list): str1 = 'x' for i,n in enumerate(my_list): for j, m in enumerate(n): if m == str1: return (i, j) treasure_map = [[' ', ' ', ' '], [' ', 'x', ' '], [' ', ' ', ' ']] print(find_treasure(treasure_map))

(1, 1)

<强>输出:

table

答案 1 :(得分:0)

使用index功能。

def find_treasure(my_list):
    str1 = 'x'
    for i,n  in enumerate(my_list):
        try:
          return (i, n.index(str1))
        except ValueError:
          pass

treasure_map = [[' ', ' ', ' '], [' ', 'x', ' '], [' ', ' ', ' ']]
print(find_treasure(treasure_map))

<强>输出

(1, 1)