just seeing if anyone can help me on my mission as I'm a little stuck. I'm trying to find all the positions of a specific nested element in multiple list. here's a diagram to try and better explain where everything is.
data = [['name', 'city', 'height']]
there are multiple of these lists of ['name', 'city', 'height'] in this data. I'm trying to shorten the list down to a city inputted by the user which will then find the average height and list the persons name closest to that average height.
I can get just the whole elements position but not the position in the nested list. along with the average height.
Use enumerate()
to iterate over the list with its indexes. Then you can save the matching indexes in a list.
indexes = [i for i, (name, city, height) in enumerate(data) if city == search_city]
But it's not clear that you actually need the indexes. Just use the list comprehension to filter down to that city.
matches = [el for el in data if el[1] == search_city]
avg_height = sum(el[2] for el in matches) / len(matches)