Target wants to identify the items purchased most frequently by its guests. Given a list of purchased item identifiers and an integer k, return the k most frequently purchased items.
Return items ordered by decreasing purchase frequency. If multiple items have the same frequency, order those items lexicographically. Each item identifier is a non-empty string, and repeated identifiers represent separate purchases.
Implement top_k_items(transactions, k), where transactions is a list of strings and k is a positive integer. Return a list of at most k strings. The result must contain every item with a higher frequency than any excluded item, subject to the stated tie-breaking rule.
def top_k_items(transactions, k):