Seguindo um exemplo:
palavra secreta com uma lista em branco da palavra
palavra_secreta = "thiago"
letras_acertadas = ["_", "_", "_", "_", "_", "_"]
você fará um chute de uma letra qualquer e vai guardar isso na variável chute. vamos dizer que você chutou a
chute = input("Qual letra? ")
chute = chute.strip()
aí a gente cria uma variável index atribuindo zero, pois é o valor inicial do index de todas as listas
index = 0
o próximo passo é percorrer o for. Aqui a gente vai passar letra por letra dentro da palavra secreta. Nesse exemplo o primeiro momento essa letra terá o valor de t
for letra in palavra_secreta:
aqui fala se a letra que voce chutou for igual a letra t você entra no if
if (chute.upper() == letra.upper()):
Nesse caso do primeiro chute a gente não entra no if então o index passa a ser iguail a 1.
index = index + 1
Agora eu vou pro segundo laço do for, onde vou comparar a com h, do mesmo jeito não entra no if e o index passa a ser 2, o mesmo acontece quando comparo a com i e o index passa a ser 3.
Nesse momento a gente vai comparar a com a
e aqui a gente vai entrar no if que diz
letras_acertadas[index] = letra
letras_acertadas[3] = a
Se nesse momento fosse impresso a lista, ela estaria assim
letras_acertadas = ["_", "_", "_", "a", "_", "_"]
depois disso o for continua até terminar a palavra, se ele achar outra letra a, ele consegue saber qual é exatamente o index da lista que a letra está, se não achar, acaba o for e é pedido um novo chute.