DefaultDict Tutorial

  • + 0 comments

    This code passes half the test cases but fails the other half. Any ideas on why?

    # # Enter your code here. Read input from STDIN. Print output to STDOUT
    from collections import defaultdict
    A, B = input().split()
    listA = []
    listB = []
    for i in range(int(A)):
        item = input()
        listA.append(item)
    for i in range(int(B)):
        item = input()
        listB.append(item)
    b_in_a = defaultdict(list)
    for i in range(len(listB)):
        if listB[i] not in listA:
            b_in_a[listB[i]] = -1
        else:
            for j in range(len(listA)):
                if listB[i] == listA[j]:
                    b_in_a[listA[j]].append(j+1)
    for key, value in b_in_a.items():
        print(*value)  # The * operator unpacks the list and separates elements by spaces