Promedio de los valores duplicados de dos listas emparejadas en Python

en mi código obtengo dos listas diferentes de diferentes fuentes, pero sé que están en el mismo orden. La primera lista ("nombres") contiene una lista de cadenas de teclas, mientras que la segunda ("result_values") es una serie de flotantes. Necesito hacer que el par sea único, pero no puedo usar un diccionario ya que solo se mantendría el último valor insertado: en cambio, necesito hacer un promedio (media aritmética) de los valores que tienen una clave duplicada.

Ejemplo de los resultados deseados:

names = ["pears", "apples", "pears", "bananas", "pears"]
result_values = [2, 1, 4, 8, 6] # ints here but it's the same conceptually

combined_result = average_duplicates(names, result_values)

print combined_result

{"pears": 4, "apples": 1, "bananas": 8}

Mis únicas ideas implican múltiples iteraciones y hasta ahora han sido feas ... ¿hay una solución elegante para este problema?

Respuestas a la pregunta(5)

Su respuesta a la pregunta