Collections.OrderedDict()

Sort by

recency

|

723 Discussions

|

  • + 0 comments
    from collections import OrderedDict
    no_of_order = int(input())
    orders = OrderedDict()
    for _ in range(no_of_order):
        order = input().split()
        price = int(order[-1])
        order.remove(order[-1])
        if ' '.join(order) in orders:
            orders[' '.join(order)] += price
        else:
            orders[' '.join(order)] = price
    for item, net_price in orders.items():
        print(item,net_price)
    
  • + 0 comments
    from collections import OrderedDict
    
    dic = OrderedDict()
    n = int(input())
    
    for i in range(n):
        line = input().rsplit(" ", 1)
        item = line[0]
        price = int(line[1])
        
        if item not in dic.keys():
            dic[item] = price
        else:
            dic[item] += price
    
    for k, v in dic.items():
        print(k, v)
    
  • + 0 comments
    from collections import OrderedDict,defaultdict
    
    dictionary = defaultdict(int)
    
    N = int(input())
    
    for i in range(N):
        name,price = input().rsplit(" ",1)
        dictionary[name] += (int(price))
        
    order = OrderedDict(dictionary)
    
    for keys in order:
        print(keys,order[keys])
    
  • + 0 comments

    Without any module:

    N = int(input())
    
    item_name= []
    price_list =[]
    
    for _ in range(N):
        *item, price = input().split()
        item_name.append(' '.join(item))
        price_list.append(int(price))
    
    unique_item= []
    unique_price= []
    
    for item, price in zip(item_name, price_list):
        if item not in unique_item:
            unique_item.append(item)
            unique_price.append(price)     
        else:
            ind= unique_item.index(item)
            unique_price[ind]= unique_price[ind]+ price
    
    for item, total_price in zip(unique_item, unique_price):
        print(item, total_price)
    
  • + 0 comments

    IMO: This problem may be helpful to know what is OrderedDict? However Python version 3.10 and beyond already has dictionary as ordered .

    FYI: Used OrderDict from collection or dict() solves the problem

    Do let me know your opinion?