Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Outro código pra aula Outros builtins

Boa tarde, pessoal. Tudo bem? Então, pensei em uma outra forma de buscar somente os elementos de uma posição específica. Segue o código:

for usuario in usuarios:
  print(usuario[0])

Assim também é uma forma implícita, certo? Mas também é válida este formato? Obrigado!

4 respostas

Oii Carlos, como você está? Espero que esteja bem ^-^

Dessa forma que você fez irá imprimir apenas a primeira letra de cada elemento da lista.

usuarios = ['Nádia', 'João', 'Igor', 'Maria']

for usuario in usuarios:
  print(usuario[0])

Resultado:

N
J
I
M

E isso ocorre porque cada palavra é uma sequência iterável, ou seja, cada letra ocupa uma posição. Sendo assim, o código usuario[0] pegará a primeira letra de cada palavra.

Para imprimir um elemento de uma posição específica, podemos simplesmente chamar a lista com a posição daquele elemento, sem necessidade de um laço de repetição. Suponha a seguinte lista de usuários:

usuarios = ['Nádia', 'João', 'Igor', 'Maria']

E imagine que queremos obter o resultado João. Para isso, podemos acessar essa lista na posição 1.

usuarios[1]

Por que 1? Porque por padrão uma lista começa com o valor 0. Então teremos o seguinte:

  • Posição 0 -> Nádia
  • Posição 1 -> João
  • Posição 2 -> Igor
  • Posição 3 -> Maria

Mas e se eu não souber qual a posição que a palavra "João" está? Como faço para encontrá-la?

Nesse caso podemos utilizar a função index para nos retornar a posição daquele elemento passado por parâmetro. Veja como é simples:

usuarios.index('João')

Resultado: 1

Qualquer dúvida estou por aqui, tá bom?

Abraços!

Oi Nádia. Estou bem, e vc? Também espero que esteja bem =]

Entendi sua explicação. Mas no meu caso, aconteceu o seguinte (vou colocar o código inteiro):

usuarios = [
            ('Guilherme', 37, 1981), 
            ('Daniela', 31, 1987), 
            ('Paulo', 39, 1979)
]
for usuario in usuarios:
    print(usuario[0])

E o resultado é:

Guilherme
Daniela
Paulo

Neste caso funciona porque são tuplas dentro de uma lista? Aí ele pega os primeiros elementos das tuplas?

Nesse caso ele funciona porque a tupla possui mais que um único elemento. Mas se a tupla possuísse apenas um único item: usuarios = [ ('Guilherme'), ('Daniela'), ('Paulo') ] aconteceria a mesma coisa da explicação anterior. Porém, como ela possui mais elementos, o código irá retornar o elemento completo daquela posição específica da tupla.

Grande abraço!

solução!

Perfeito, Nádia. Compreendi o raciocínio. Muito obrigado pela explicação!

Grande abraço!