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?
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!