title: Fastest way to rank items with multiple values and weightings
body: <p>I have a collection of key value pairs like this:</p>
  
  <pre><code>{ 
     'key1': [value1_1, value2_1, value3_1, ...], 
     'key2': [value1_2, value2_2, value3_2, ...],
     ...
   }
  </code></pre>
  
  <p>and also a list which is in the same order as the values list, which contains the weight each variable should have applied. So it looks like <code>[weight_1, weight_2, weight_3, ...]</code>.</p>
  
  <p>My goal is to end up with an ordered list of keys in accordance to which has the highest overall score of values. Note that the values aren't all standardized / normalized, so value1_x could range from 1 - 10 but value 2_x could range from 1 - 100000. This has been the tricky part for me as I have to normalize the data somehow.</p>
  
  <p>I'm trying to make this algorithm run to scale for many different values, so it would take the same amount of time for 1 or for 100 (or at least logarithmically more time). Is that possible? Is there any really efficient way I can go about this?</p>