Este artigo foi compartilhado do " Guia de habilidades de loop em Python " da comunidade Huawei Cloud por Lemony Hug.
Quando processamos dados, às vezes precisamos criar várias listas para armazenar dados de diferentes tipos ou condições. Em Python, podemos usar loops para criar essas listas de forma rápida e eficiente. Este artigo explica como usar loops para criar várias listas em Python e fornece exemplos de código.
Python usa loop para criar múltiplas listas
Em Python, podemos criar várias listas usando compreensões de lista ou loops combinados com instruções condicionais. Aqui estão alguns cenários comuns e exemplos de código correspondentes:
1. Crie um número fixo de listas vazias
Suponha que precisemos criar várias listas vazias, podemos usar compreensões de lista e loops:
# Crie múltiplas listas vazias usando compreensões de lista num_listas = 5 listas_vazias = [[] para _ no intervalo (num_listas)] imprimir(listas_vazias)
Isso criará uma lista de 5 listas vazias.
2. Crie várias listas com base nas condições
Às vezes, precisamos criar listas diferentes com base em condições específicas. Por exemplo, queremos armazenar números pares e ímpares em duas listas:
#Crie listas pares e ímpares números = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] números_ímpares = [] números_pares = [] para num em números: se num % 2 == 0: números_pares.append(num) outro: números_ímpares.append(num) print("Lista de números ímpares:", números_ímpares) print("Lista de números pares:", números_pares)
Isso criará duas listas com base na paridade dos números.
3. Crie várias listas com base no comprimento da string
Às vezes, precisamos classificar e armazenar strings em listas diferentes com base no seu comprimento:
#Crie múltiplas listas com base no comprimento da string palavras = ["maçã", "banana", "laranja", "pêra", "uva", "kiwi"] palavras_curtas = [] palavras_médias = [] palavras_longas = [] por palavra em palavras: se len(palavra) <5: palavras_curtas.append(palavra) elif len(palavra) <7: palavras_médias.append(palavra) outro: palavras_longas.append(palavra) print("Lista de palavras curtas:", short_words) print("Lista de palavras de comprimento médio:", middle_words) print("Lista de palavras longas:", long_words)
Isso armazenará as palavras em três listas diferentes com base no comprimento da string.
4. Crie várias listas com base no tipo de dados
Às vezes, precisamos armazenar dados em listas diferentes com base no seu tipo. Por exemplo, queremos armazenar números inteiros, flutuantes e strings em listas separadas:
#Crie várias listas com base no tipo de dados dados = [1, 2,5, "maçã", 4, "banana", 6,7, "laranja", 8, 9, "pêra"] inteiros = [] flutua = [] cordas = [] para item em dados: if isinstance(item, int): inteiros.append(item) elif isinstance(item, float): floats.append(item) elif isinstance(item, str): strings.append(item) print("Lista de inteiros:", inteiros) print("Lista de números de ponto flutuante:", floats) print("Lista de strings:", strings)
Isso armazenará os dados em três listas diferentes com base em seu tipo.
5. Crie várias listas dinamicamente com base nas condições
Às vezes, precisamos criar várias listas com base em condições que mudam dinamicamente. Por exemplo, queremos criar uma lista de quantidades correspondentes com base na quantidade inserida pelo usuário:
# Crie dinamicamente várias listas com base na entrada do usuário num_lists = int(input("Digite o número de listas a serem criadas: ")) listas = [[] para _ no intervalo (num_listas)] print("criado", num_lists, "listas vazias:", listas)
Isso criará dinamicamente um número correspondente de listas vazias com base no número inserido pelo usuário.
6. Crie várias listas contendo intervalos específicos de números
Às vezes precisamos criar várias listas com base em um intervalo específico de números. Por exemplo, queremos armazenar números entre 0 e 9 em dez listas baseadas em um único dígito:
# Crie várias listas contendo um intervalo específico de números num_listas = 10 range_lists = [[] para _ no intervalo(num_lists)] para num no intervalo (10): range_lists[num % num_lists].append(num) print("Lista armazenada em dígitos únicos:") para i, lst em enumerar (range_lists): print(f"Lista{i}:", lst)
Isto armazenará números entre 0 e 9 em dez listas separadas, classificadas por dígitos únicos.
7. Crie várias listas com base em valores hash de chaves
Às vezes, queremos armazenar dados agrupados em várias listas com base no valor hash de uma chave. Por exemplo, temos um conjunto de pares chave-valor e queremos armazená-los em listas diferentes com base no hash das chaves:
# Crie várias listas com base no valor hash da chave dados = {"maçã": 3, "banana": 5, "laranja": 2, "pêra": 4, "uva": 6} num_listas = 3 hash_lists = [[] para _ no intervalo (num_lists)] para chave, valor em data.items(): hash_index = hash(chave)% num_lists hash_lists[hash_index].append((chave, valor)) print("Lista armazenada de acordo com o valor hash da chave:") para i, lst em enumerar (hash_lists): print(f"Lista{i}:", lst)
Isso armazenará os pares de valores-chave em três listas diferentes com base no hash da chave.
8. Crie várias listas com base nos atributos dos elementos da lista
Às vezes, precisamos criar várias listas com base nos valores dos atributos dos elementos da lista. Por exemplo, digamos que temos um conjunto de objetos de alunos e queremos armazená-los em duas listas, Aprovado e Reprovado, com base em suas notas:
#Crie várias listas com base nas pontuações dos objetos dos alunos aluno da turma: def __init__(self, nome, pontuação): self.name = nome self.score = pontuação alunos = [ Aluno("Alice", 85), Aluno("Bob", 60), Aluno("Charlie", 75), Aluno("David", 40), Aluno("Emma", 95) ] passando_alunos = [] alunos_reprovados = [] para estudante em estudantes: se aluno.pontuação >= 60: pass_students.append(aluno) outro: failed_students.append(aluno) print("Lista de alunos aprovados:") para aluno em pass_students: imprimir (f"{nome do aluno}: {pontuação do aluno}") print("\nLista de alunos reprovados:") para aluno em fail_students: imprimir (f"{nome do aluno}: {pontuação do aluno}")
Isso armazenará os alunos em duas listas, Aprovado e Reprovado, com base em suas notas.
9. Crie várias listas com base em intervalos de índices
Às vezes, precisamos dividir a lista em várias sublistas com base no intervalo do índice. Por exemplo, temos uma lista contendo um conjunto de números e queremos dividi-la em várias sublistas menores:
#Crie várias listas com base em intervalos de índices números = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] num_listas = 3 listas_divididas = [] para i no intervalo (num_lists): start_index = i * len(números) // num_lists end_index = (i + 1) * len(números) // num_lists split_lists.append(números[start_index:end_index]) print("Lista dividida:") para i, lst em enumerar (split_lists): print(f"Lista{i + 1}:", lst)
Isso dividirá a lista original em três sublistas com base no intervalo do índice.
10. Crie várias listas agrupando com base nos valores dos elementos da lista
Às vezes, precisamos agrupar os elementos da lista com base em seus valores e armazená-los em listas diferentes. Por exemplo, digamos que temos um conjunto de números inteiros e queremos armazená-los em duas listas com base na sua paridade:
#Crie múltiplas listas agrupando com base nos valores dos elementos da lista números = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] números_ímpares = [] números_pares = [] para num em números: se num % 2 == 0: números_pares.append(num) outro: números_ímpares.append(num) print("Lista de números ímpares:", números_ímpares) print("Lista de números pares:", números_pares)
Isso armazenará os elementos da lista em listas pares e ímpares, respectivamente, com base em sua paridade.
11. Crie várias listas com base no fato de os elementos atenderem às condições
Às vezes, precisamos armazenar elementos em listas diferentes com base no fato de eles atenderem a determinadas condições. Por exemplo, digamos que temos um conjunto de números e queremos armazenar números maiores ou iguais a 5 e números menores que 5 em duas listas:
#Crie várias listas com base no fato de os elementos atenderem às condições números = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] maior_que_5 = [] menos_que_5 = [] para num em números: se num >= 5: maior_que_5.append(num) outro: menos_que_5.append(num) print("Lista de números maiores ou iguais a 5:", maior_que_5) print("Lista de números menores que 5:", less_than_5)
Isso armazenará o número em duas listas diferentes com base no fato de ser maior ou igual a 5.
Resumir
No geral, este artigo apresentou várias maneiras de criar várias listas usando loops em Python e as demonstrou e explicou com exemplos de código específicos. Partindo de diferentes perspectivas, como quantidades fixas, condições, tipos de dados, atributos, intervalos de índices, valores hash, etc., exploramos como usar loops de forma flexível combinados com compreensões de lista ou instruções condicionais para criar múltiplas listas. Esses métodos não apenas melhoram a flexibilidade e a facilidade de manutenção do código, mas também aceleram o processo de desenvolvimento e melhoram o desempenho do programa.
Através do estudo deste artigo, os leitores podem dominar as habilidades de processamento de dados em Python e organização em múltiplas listas, de modo a operar e gerenciar dados de forma mais eficaz. Ao mesmo tempo, o uso flexível de recursos do Python, como loops e compreensão de listas, pode tornar o código mais conciso, claro e elegante. Em projetos reais, escolher o método apropriado para criar múltiplas listas de acordo com necessidades específicas se tornará uma habilidade importante na programação e ajudará a melhorar a qualidade e a eficiência do código.
Clique para seguir e conhecer as novas tecnologias da Huawei Cloud o mais rápido possível~
Decidi desistir do software industrial de código aberto . Grandes eventos - OGG 1.0 foi lançado, a Huawei contribuiu com todo o código-fonte do Ubuntu 24.04 LTS foi oficialmente demitido . ". O Fedora Linux 40 foi lançado oficialmente. Uma conhecida empresa de jogos lançou novos regulamentos: os presentes de casamento dos funcionários não devem exceder 100.000 yuans. A China Unicom lança a primeira versão chinesa Llama3 8B do mundo do modelo de código aberto. Pinduoduo é condenado a compensar 5 milhões de yuans por concorrência desleal Método de entrada na nuvem doméstica - apenas a Huawei não tem problemas de segurança de upload de dados na nuvem.