you don't have to use lists at all.
Check my solution:
vowels = ["a", "e","i","o", "u"]
new_text = ''
for i in text:
if i.lower() not in vowels:
new_text += i
so, just create new empty string, and later check if any of the items (characters) from 'text' argument IS NOT any of the vowels. if character is not vowel, add him to newly created string. if character is vowel, the loop won't do anything, it will go on to the next item of the 'text'.
also, note the lower() method on each character from text argument. it's better to modify what you want to evaluate than to have a container with all variations of data, because if the task was the oposite - to remove all consonants, would you add all B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, X, Z and b,c,d,f,g,h etc..?
using lower() you change the character to lower case so you can match it with vowels list. note that doesn't change the "i" that you later pass to new_text. it's fine for this case where we have 10 characters, but just so you know for future, where you could have many varitations.