2015-12-22 125 views
0

任何人都可以帮助我,我有一个列表2D,我想知道2D中myList的索引,但我只知道该索引的第一个值,例如我只知道'a2',我想要知道,包含'a2'在第一值列表的索引,因为我想访问列表的例子,我想通过知道'a2'访问['a2', 'b1']2维python列表索引

myList2= [['a1', 'b2', 'c1'], ['a2', 'b1'], ['b1', 'c2'], ['b2', 'c1'], ['c1'], ['c2']] 

其他情况下....如果myList2是类对象的列表点。

+0

另请参阅[这里](http://stackoverflow.com/questions/11963711/what-is-the-most-efficient-way-to-search-nested-lists-in-python),[这里](http://stackoverflow.com/questions/6889785/python-how-to-search-an-item-in-a-nested-list),和更多类似的问题。 – TigerhawkT3

回答

0

这样做:

for element in [i for i in myList2 if i[0]=='a2']: 
    #do something with element 

或者,

for element in filter(lambda x:x[0]=='a2',myList2): 
    #do something 
+0

谢谢,我明白了:) –

+0

@AvinashRaj,编辑。 –

+0

我有另一个问题,当迭代无法找到我设置的第一个值的列表。例如'my list = [['a1','b2','c1'],['b1','c2'],['b2','c1'],['c1'],['c2 ']]'而我的代码是'[我为myList2中的元素,如果我[0] =='a2']:'。你可以给我任何建议吗? –

0

您可以检查,如果你知道的元素,在这种情况下'a2'是在任何嵌套列表。如果是这样,您可以打印该列表。

>>> myList2= [['a1', 'b2', 'c1'], ['a2', 'b1'], ['b1', 'c2'], ['b2', 'c1'], ['c1'], ['c2']] 
>>> for i in myList2: 
    if 'a2' in i: 
     print i 


['a2', 'b1'] 
>>>