Many Thanks guys! and what if I need to look ONLY into the second and third columns, excluding the first item of each rows?
for example if x = 3 I need to get [0] and not [0,1] many thanks, Alex 2009/3/20 Tino Wildenhain <t...@wildenhain.de>: > Alexzive wrote: >> >> Hello there, >> >> let's suppose I have the following matrix: >> >> mat = [[1,2,3], [3,2,4], [7,8,9], [6,2,9]] >> >> where [.. , .. , ..] are the rows. >> >> I am interested into getting the "row index" of all the matrix rows >> where a certain number occurs. >> For example for 9 I should get 2 and 3 (starting from 0). >> For 10 I should get an error msg (item not found) and handle it. >> >> How to get the"row indexes" of found items? >> >> In practice I am looking for an equivalent to "list.index(x)" for the >> case "lists of lists" > > Actually you are not ;) list.index(x) gives you the index of the > first occurence of the item. > > So what you seem to want is a list of indexes to the lists where > your item is contained. > > Something like: > > x=9 > > [idx for idx,row in enumerate(mat) if x in row] > > should do. > >> >> >> PS: this is just a simplified example, but I have actually to deal >> with large matrices [~500000 * 4] > > This is something I'd consider either reordering your data (for example > into dictionary) or look at scipy/numpy. > > Regards > Tino > -- ========================= Alessandro Zivelonghi Ziller Max-Planck-Institut für Plasmaphysik, Garching, DE Middle-Age Fusion Engineer === http://www.tecnopolis.eu skype: alexzive " I'm sure that in 1985 plutonium is available in every corner drug store, but in 1955 it's a little hard to come by" Dr. D.Brown -- http://mail.python.org/mailman/listinfo/python-list