DefaultDict Tutorial ⬀
The defaultdict tool is a container in the collections class of Python. It's similar to the usual dictionary (dict) container, but the only difference is that a defaultdict will have a default value if that key has not been set yet. If you didn't use a defaultdict you'd have to check to see if that key exists, and if it doesn't, set it to what you want.
from collections import defaultdict
d = defaultdict(list)
d['python'].append("awesome")
d['something-else'].append("not relevant")
d['python'].append("language")
for i in d.items():
print i
This prints:
('python', ['awesome', 'language'])
('something-else', ['not relevant'])
In this challenge, you will be given 2 integers, n and m. There are n
words, which might repeat, in word group A. There are m words belonging to
word group B. For each m words, check whether the word has appeared in
group A or not. Print the indices of each occurrence of m in group A. If
it does not appear, print -.
Group A contains 'a', 'b', 'a' Group B contains 'a', 'c'
For the first word in group B, 'a', it appears at positions 1 and 3 in group A. The second word, 'c', does not appear in group A, so print -1.
Expected output:
1 3
-1
- The first line contains integers,
nandmseparated by a space. - The next lines contains the words belonging to group
A. - The next lines contains the words belonging to group
B.
1 ≤ n ≤ 100001 ≤ m ≤ 5001 ≤ length of each word in the input ≤ 100
Output m lines.
The iᵗʰ line should contain the 1-indexed positions of the occurrences of
the iᵗʰ word separated by spaces.
STDIN Function
----- --------
5 2 group A size n = 5, group B size m = 2
a group A contains 'a', 'a', 'b', 'a', 'b'
a
b
a
b
a group B contains 'a', 'b'
b
1 2 4
3 5
'a'appeared3times in positions1,2and4.'b'appeared2times in positions3and5.
In the sample problem, if 'c' also appeared in word group B, you would print -1.