If you are allowed to use other modules,
collections.Counter
will create the dictionary you want for this.
>>> from collections import Counter
>>> bills = [100, 100, 50, 20]
>>> counts = Counter(bills)
>>> counts
Counter({100: 2, 20: 1, 50: 1})
>>> for bill,n in counts.items():
... print("{} : {:>3} bill(s)".format(n, bill))
...
1 : 20 bill(s)
1 : 50 bill(s)
2 : 100 bill(s)
>>>
If not it isn't much harder without.
Also note, for the record, this greedy approach will not necessarily work for certain sets of denominations.
For instance if you need to make change for 30 with the given bills {25, 15, 1} the greedy approach requires 6 bills whereas the correct minimum requires 2. Probably not something you need to deal with but it is worth being aware of. DP would be needed if you were expected to handle cases like this.