Count Comprehensions Count Comprehensions
The mission is in Blocked Mode. Access to the solutions is blocked for a day or two (even after you share your own), until we'll have enough solutions for you to check. All users who've solved the mission will get the notifications about their opening.

You have to write a function that receives a Python source code, counts list/set/dict/generator comprehensions and returns these counts.
List comprehensions, set comprehensions, dict comprehensions, generator expressions are respectively represented by "ListComp", "SetComp", "DictComp", "GeneratorExp" in the result dictionary.

Input: A string.
Output: A dict with strings as keys and integers as values.


count_comprehensions('[n ** 2 for n in range(5)]') == {'ListComp': 1}
count_comprehensions('list(n ** 2 for n in range(5))') == {'GeneratorExp': 1}
limit = 100
assert all(
    sum(n ** 3 for n in range(N)) == (N * (N - 1) // 2) ** 2
    for N in range(1, limit)
''') == {'GeneratorExp': 2}

Note: Python codes are valid (no syntax error) but do not necessarily comply to PEP8 rules or any implicit rule you may think of.