def count_unique_items(items):
    """
    Count the unique items in a list.  Similar to calling collections.Counter(items).items(), but it doesn't require
    that items be hashable.
    :return: A list<(item, item_count)>
    """
    unique_items = []
    unique_item_counts = []
    for item in items:
        if item in unique_items:
            unique_item_counts[unique_items.index(item)] +=1
        else:
            unique_items.append(item)
            unique_item_counts.append(1)
    return zip(unique_items, unique_item_counts)