Oi gente, tudo bem?
Pra mim ficou bastante claro o modo de unpacking usando o laço for com enumerate, consegui reproduzir aqui e deu super certo. Entretanto, tentei buscar uma forma de fazer a mesma coisa, mas ao invés de usar o enumerate com laço for, gostaria de fazer o mesmo unpacking usando o modo lazy e passando o enumerate.
Veja até aonde cheguei:
1 . Criei meu dataset
cadastro = [
('Rafael', 39, 1984),
('José', 67, 1956),
('Renato', 44, 1979),
('Julia', 37, 1986)
]
- Gerei uma saída com enumerate para meu dataset e em seguida transformei ele numa lista
print('enumera usando enumerate\n')
enumeratecadastro = enumerate(cadastro)
print(enumeratecadastro)
enumeratecadastro_list = list(enumeratecadastro)
print(enumeratecadastro_list)
- como saída obtive a posição de memória e as tuplas enumeradas corretamente:
<enumerate object at 0x000001CA0FA8BF00>
[(0, ('Rafael', 39, 1984)), (1, ('José', 67, 1956)), (2, ('Renato', 44, 1979)), (3, ('Julia', 37, 1986))]
- Entretanto, ao fazer o unpacking, o retorno vai ser do par índice x tupla e não dos argumentos da tupla individualizados, como deveria ser:
for valor1, valor2, valor3 in enumeratecadastro_list:
print(valor1, valor2)
Alguma forma de contornar isso?
Desde já muuiiito obrigado pelo apoio sempre!