Python在行中找到行位置

时间:2017-11-21 15:59:10

标签: python list indexing find

我需要帮助解决问题。我有一个类似上面示例的列表:

list = [[{'bu':'01-DAM-XNXX'}, 45, 60], [{'bu':'02-TAC-MWKKK'}, 80, 120], ...]

我需要根据字典'bu'键的值找到行号。在这种情况下,对于'01 -DAM-XNXX,它将为1,对于'02 -TAC-MWKKK',它将为2,依此类推......

非常感谢!

3 个答案:

答案 0 :(得分:0)

我想我拥有它:

element = '01-DAM-XNXX'
position = raw_list.index([row for row in raw_list if row[0]['bu'] == element][0])

答案 1 :(得分:0)

Python 3

search_value = '02-TAC-MWKKK'
ind = (ind for ind, val in enumerate(list) if val[0]['bu'] == search_value).__next__()

Python 2

search_value = '02-TAC-MWKKK'
ind = (ind for ind, val in enumerate(list) if val[0]['bu'] == search_value).next()

另外,正如@mrCarnivore所述,请不要将变量命名为list

答案 2 :(得分:0)

你可以使用一个简单的功能:

def searchList(term,searchlist):
    for row in range(len(searchlist)):
        if term in searchlist[row][0]['bu']:
            return row