from collections import defaultdict
import string
def extract_popular(textstring):
"""
Input: string
Output: dictionary with counts for each character in a string
"""
d = defaultdict(int)
exclude = set(string.punctuation)
textstring = textstring.lower()
textstring = ''.join(ch for ch in textstring if ch not in exclude)
for c in textstring:
d[c] += 1
counts = [(d[c], c) for c in d]
counts.sort()
counts.reverse()
return counts
print(extract_popular("A man, a plan, a canal: Panama"))
print(extract_popular("Testing, attention please"))