def _merge_roundrobin(cls, rows): """Combine multiple sets of recs, preserving order. Picks items equally from each input sr, which can be useful for getting a diverse set of recommendations instead of one that matches a theme. Preserves ordering, so all rank 1 recs will be listed first, then all rank 2, etc. Returns a list of id36s. """ return roundrobin(*[row._values().itervalues() for row in rows])