1. Dicas
Problema 1
Este é um desafio que une duas questões diferentes: iteradores e expressões condicionais. Essa é uma combinação que será usada exaustivamente nos seus programas.
Primeiro, você precisa gerar um iterador que possibilite uma avaliação de cada um dos itens da sua lista. Um 'for item in lista:' resolve o seu problema.
Depois, é preciso criar uma expressão condicional que selecione os itens que você quiser, como um "if 'ADI' in item:". Porém, como há outras classes que também fazem parte do controle concentrado, você precisa criar uma condição complexa, usando o conector "or", pois serão selecionados os processos que sejam ADI, ou que sejam ADC ou que sejam ADO.
Uma vez que você selecione os itens que deseja, basta inseri-los em uma nova lista, com a função append.
Porém, como o append só insere elementos em listas anteriormente criadas, você precisa tomar o cuidado de criar as listas antes de gerar o append. Por exemplo, você pode criar uma lista em branco com o comando "lista_CC = []".
Uma forma de criar programas mais eficientes é usar o elif, em vez de usar um if para cada condicional. Assim, o elif será calculado apenas para os itens que não se enquadrarem na primeira condição. Isso não vai fazer diferença agora na sua velocidade de processamento, mas pode fazer uma diferença grande quando você rodar para um grande número de processos uma função que exija um processamento mais intenso.
Além disso, se você usar o if + elif, você poderá criar a última lista (dos outros processos) usando apenas o "else", o que é mais fácil do que criar uma condição específica para excluir todos os processos anteriores.
Problema 2
Você já desenvolveu as habilidades para fazer essa extração no módulo anterior. Agora, basta inserir a sequência de comandos em um programa, usando o editor.
2. Resolução em video
A primeira resposta é a da semana passada. Depois vêm as respostas do módulo 4. Isso ocorre porque todo o conteúdo estava em uma semana e depois eu o dividi em dois módulos.