Há um erro no código passado pelo professor (no vídeo), na parte:
# Gerando a lista de nomes (extraindo da tupla)
nomes = [nome[0] for nome in nomes]
nomes
O retorno fica ['J', 'J', 'J', 'J', 'J']
Corrigido pela Luri, quando fui verificar o código:
"O problema é que você está reatribuindo a lista resultante da list comprehension à mesma variável nomes. Isso significa que, na segunda vez que o loop for é executado, ele está iterando sobre a lista de strings ['João', 'Maria', 'José', 'Cláudia', 'Ana'] em vez da lista original de tuplas. Para corrigir isso, você pode atribuir a lista resultante da list comprehension a uma nova variável, como 'lista_nomes'."
Já consegui a correção pela Luri, mas seria muito bom corrigir a aula em vídeo, pois isso acaba confundindo e atrasando muito os estudos.