Getting unexpected result while using CountVectorizer()
The problem lies in the line: 

keys = 'keys_' + str(i+1)


Here, keys becomes a string variable while I guess you would expect it to take the value of the list you defined in the first lines..

Try instead with a dictionary: 

my_keys= {
"keys_1" : ['funny', 'amusing', 'humorous', 'hilarious', 'jolly'],
"keys_2" : ['horror', 'fear', 'shock', 'panic', 'scream'],
"keys_3" : ['romantic', 'intimate', 'passionate', 'love', 'fond']
}
text = ('funny amusing fear passionate')

for i in range(3):
    keys = my_keys['keys_' + str(i+1)]
    cv = CountVectorizer(vocabulary = keys) 
    data = cv.fit_transform([text]).toarray()
    print(data)