Consider a program that wants to find the number of vowels in each word of a sentence and create a list. Choose the correct implementation from the following set of code snippets.
Snippet-1:
```
sentence = input()
vowels = "aeiouAEIOU"
words = sentence.split()
vowel_counts = []
for word in words:
count = 0
for char in word:
if char in vowels:
count += 1
vowel_counts.append(count)
print(vowel_counts)
```
Snippet-2:
```
sentence = input()
vowels = set("aeiouAEIOU")
words = sentence.split()
vowel_counts = []
for word in words:
count = len(set(word).intersection(vowels))
vowel_counts.append(count)
print(vowel_counts)
```
Snippet-3:
```
sentence = input()
vowels = "aeiou"
words = sentence.split()
vowel_counts = []
for word in words:
word = word.lower()
count = 0
for char in word:
count += 1 if char in vowels else 0
vowel_counts.append(count)
print(vowel_counts)
```
Snippet-4:
```
sentence = input().split()
vowel_counts = []
for word in sentence:
word = word.upper()
count = 0
for char in word:
if char in 'AEIOU':
count += 1
vowel_counts.append(count)
print(vowel_counts)
```