locate items in matrix (index of lists of lists)
zasaconsulting at gmail.com
Fri Mar 20 12:34:31 CET 2009
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  and not [0,1]
many thanks, Alex
2009/3/20 Tino Wildenhain <tino at 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:
> [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.
Alessandro Zivelonghi Ziller
Max-Planck-Institut für Plasmaphysik, Garching, DE
Middle-Age Fusion Engineer
" 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"
More information about the Python-list