no exemplo dado, foi realizado a retirada da chave turma. a minha dúvida é: e se eu quisesse que, os alunos com cadastro onde a chave 'modalidade' tiver 'EAD', a 'turma' seja retirada, porém, se não for EAD, o aluno ainda contenha a chave turma?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
no exemplo dado, foi realizado a retirada da chave turma. a minha dúvida é: e se eu quisesse que, os alunos com cadastro onde a chave 'modalidade' tiver 'EAD', a 'turma' seja retirada, porém, se não for EAD, o aluno ainda contenha a chave turma?
Oi, Emily, tudo bem?
Você pode fazer isso iterando sobre os dicionários e verificando a condição antes de usar o método pop(). Vou te mostrar um exemplo prático de como fazer isso.
Suponha que você tenha uma lista de dicionários, onde cada dicionário representa um aluno:
alunos = [
{'nome': 'João', 'modalidade': 'EAD', 'turma': '2G'},
{'nome': 'Maria', 'modalidade': 'Presencial', 'turma': '3A'},
{'nome': 'Pedro', 'modalidade': 'EAD', 'turma': '2G'},
{'nome': 'Ana', 'modalidade': 'Presencial', 'turma': '3B'}
]
Para remover a chave turma apenas dos alunos com modalidade igual a EAD, você pode fazer o seguinte:
for aluno in alunos:
if aluno['modalidade'] == 'EAD':
aluno.pop('turma', None) # Usamos None para evitar erro caso a chave não exista
print(alunos)
Após executar esse código, a lista alunos ficará assim:
[
{'nome': 'João', 'modalidade': 'EAD'},
{'nome': 'Maria', 'modalidade': 'Presencial', 'turma': '3A'},
{'nome': 'Pedro', 'modalidade': 'EAD'},
{'nome': 'Ana', 'modalidade': 'Presencial', 'turma': '3B'}
]
Dessa forma, a chave turma foi removida apenas dos alunos que estão na modalidade EAD, enquanto os demais alunos ainda possuem essa chave.
Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!