11 astuces de bouclage Python

Cet article est tiré du « Loop Skills Guide in Python » de la communauté Huawei Cloud par Lemony Hug.

Lorsque nous traitons des données, nous devons parfois créer plusieurs listes pour stocker des données de différents types ou conditions. En Python, nous pouvons utiliser des boucles pour créer ces listes rapidement et efficacement. Cet article explique comment utiliser des boucles pour créer plusieurs listes en Python et fournit des exemples de code.

Python utilise une boucle pour créer plusieurs listes

En Python, nous pouvons créer plusieurs listes en utilisant des compréhensions de liste ou des boucles combinées avec des instructions conditionnelles. Voici quelques scénarios courants et exemples de code correspondant :

1. Créez un nombre fixe de listes vides

Supposons que nous devions créer plusieurs listes vides, nous pouvons utiliser des compréhensions de listes et des boucles :

# Créez plusieurs listes vides en utilisant la compréhension de liste
num_lists = 5
empty_lists = [[] pour _ dans la plage (num_lists)]

imprimer (listes_vides)

Cela créera une liste de 5 listes vides.

2. Créez plusieurs listes basées sur des conditions

Parfois, nous devons créer différentes listes basées sur des conditions spécifiques. Par exemple, nous souhaitons stocker les nombres pairs et impairs dans deux listes :

#Créer des listes paires et impaires
nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nombres_impairs = []
nombres_pairs = []

pour num en chiffres :
    si num % 2 == 0 :
        nombres_pairs.append(num)
    autre:
        nombres_impairs.append(num)

print("Liste des nombres impairs :", nombres_impairs)
print("Liste des nombres pairs :", nombres_pairs)

Cela créera deux listes basées sur la parité des nombres.

3. Créez plusieurs listes en fonction de la longueur de la chaîne

Parfois, nous devons classer et stocker les chaînes dans différentes listes en fonction de leur longueur :

#Créer plusieurs listes en fonction de la longueur de la chaîne
mots = ["pomme", "banane", "orange", "poire", "raisin", "kiwi"]
mots_courts = []
mots_moyens = []
mots_longs = []

pour mot en mots :
    si len(mot) < 5 :
        short_words.append(mot)
    elif len(mot) < 7 :
        medium_words.append(mot)
    autre:
        long_words.append(mot)

print("Liste de mots courte :", short_words)
print("Liste de mots de longueur moyenne :", medium_words)
print("Liste de mots longue :", long_words)

Cela stockera les mots dans trois listes différentes en fonction de la longueur de la chaîne.

4. Créez plusieurs listes en fonction du type de données

Parfois, nous devons stocker des données dans différentes listes en fonction de leur type. Par exemple, nous souhaitons stocker les entiers, les flottants et les chaînes dans des listes distinctes :

#Créer plusieurs listes en fonction du type de données
data = [1, 2,5, "pomme", 4, "banane", 6,7, "orange", 8, 9, "poire"]
entiers = []
flotte = []
chaînes = []

pour l'élément dans les données :
    si estinstance (élément, int):
        entiers.append (élément)
    elif isinstance (élément, float):
        floats.append (élément)
    elif isinstance (élément, str):
        chaînes.append (élément)

print("Liste des entiers :", entiers)
print("Liste des nombres à virgule flottante :", floats)
print("Liste des chaînes :", chaînes)

Cela stockera les données dans trois listes différentes en fonction de leur type.

5. Créez dynamiquement plusieurs listes en fonction des conditions

Parfois, nous devons créer plusieurs listes basées sur des conditions changeant dynamiquement. Par exemple, nous souhaitons créer une liste de quantités correspondantes en fonction de la quantité saisie par l'utilisateur :

# Créez dynamiquement plusieurs listes en fonction de la saisie de l'utilisateur
num_lists = int(input("Veuillez saisir le nombre de listes à créer : "))
lists = [[] pour _ dans la plage (num_lists)]

print("créé", num_lists, "listes vides :", listes)

Cela créera dynamiquement un nombre correspondant de listes vides en fonction du numéro saisi par l'utilisateur.

6. Créez plusieurs listes contenant des plages de nombres spécifiques

Parfois, nous devons créer plusieurs listes basées sur une plage de nombres spécifique. Par exemple, nous souhaitons stocker les nombres entre 0 et 9 dans dix listes basées sur un seul chiffre :

# Créez plusieurs listes contenant une plage spécifique de nombres
num_lists = 10
range_lists = [[] pour _ dans la plage (num_lists)]

pour num dans la plage (10):
    range_lists[num % num_lists].append(num)

print("Liste stockée à un seul chiffre :")
pour moi, lst dans enumerate(range_lists):
    print(f"Liste{i}:", lst)

Cela stockera les nombres entre 0 et 9 dans dix listes distinctes, triées par chiffre.

7. Créez plusieurs listes basées sur les valeurs de hachage des clés

Parfois, nous souhaitons stocker des données regroupées dans plusieurs listes en fonction de la valeur de hachage d'une clé. Par exemple, nous avons un ensemble de paires clé-valeur et nous souhaitons les stocker dans différentes listes en fonction du hachage des clés :

# Créez plusieurs listes basées sur la valeur de hachage de la clé
data = {"pomme": 3, "banane": 5, "orange": 2, "poire": 4, "raisin": 6}
num_lists = 3
hash_lists = [[] pour _ dans la plage (num_lists)]

pour la clé, valeur dans data.items() :
    hash_index = hash(clé) % num_lists
    hash_lists[hash_index].append((clé, valeur))

print("Liste stockée selon la valeur de hachage de la clé :")
pour moi, lst dans enumerate(hash_lists):
    print(f"Liste{i}:", lst)

Cela stockera les paires clé-valeur dans trois listes différentes en fonction du hachage de la clé.

8. Créez plusieurs listes basées sur les attributs des éléments de la liste

Parfois, nous devons créer plusieurs listes basées sur les valeurs d'attribut des éléments de la liste. Par exemple, disons que nous avons un ensemble d'objets étudiants et que nous souhaitons les stocker dans deux listes, Réussite et Échec, en fonction de leurs notes :

#Créez plusieurs listes basées sur les scores des objets étudiants
Élève de la classe :
    def __init__(soi, nom, score) :
        soi.nom = nom
        self.score = score

étudiants = [
    Étudiant("Alice", 85 ans),
    Étudiant("Bob", 60 ans),
    Étudiant("Charlie", 75 ans),
    Étudiant("David", 40 ans),
    Étudiant("Emma", 95)
]

étudiants_passants = []
étudiants_échoués = []

pour étudiant chez étudiants:
    si student.score >= 60 :
        passing_students.append(étudiant)
    autre:
        failing_students.append (étudiant)

print("Liste des étudiants réussissant :")
pour les étudiants en passant_students :
    print(f"{student.name} : {student.score}")

print("\nListe des étudiants en échec :")
pour l'étudiant de failing_students :
    print(f"{student.name} : {student.score}")

Cela stockera les étudiants dans deux listes, Réussite et Échec, en fonction de leurs notes.

9. Créez plusieurs listes basées sur des plages d'index

Parfois, nous devons diviser la liste en plusieurs sous-listes en fonction de la plage d'index. Par exemple, nous avons une liste contenant un ensemble de nombres et nous souhaitons la diviser en plusieurs sous-listes plus petites :

#Créer plusieurs listes basées sur des plages d'index
nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num_lists = 3
split_lists = []

pour moi dans la plage (num_lists):
    start_index = i * len(nombres) // num_lists
    end_index = (i + 1) * len(nombres) // num_lists
    split_lists.append(nombres[start_index:end_index])

print("Liste fractionnée :")
pour moi, lst dans enumerate(split_lists) :
    print(f"Liste{i + 1}:", lst)

Cela divisera la liste d'origine en trois sous-listes en fonction de la plage d'index.

10. Créez plusieurs listes en regroupant en fonction des valeurs des éléments de la liste

Parfois, nous devons regrouper les éléments d'une liste en fonction de leurs valeurs et les stocker dans différentes listes. Par exemple, disons que nous avons un ensemble d'entiers et que nous voulons les stocker dans deux listes en fonction de leur parité :

#Créez plusieurs listes en regroupant en fonction des valeurs des éléments de la liste
nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nombres_impairs = []
nombres_pairs = []

pour num en chiffres :
    si num % 2 == 0 :
        nombres_pairs.append(num)
    autre:
        nombres_impairs.append(num)

print("Liste des nombres impairs :", nombres_impairs)
print("Liste des nombres pairs :", nombres_pairs)

Cela stockera les éléments de la liste dans des listes paires et impaires respectivement en fonction de leur parité.

11. Créez plusieurs listes selon que les éléments remplissent les conditions

Parfois, nous devons stocker des éléments dans différentes listes selon qu'ils remplissent ou non certaines conditions. Par exemple, disons que nous avons un ensemble de nombres et que nous voulons stocker les nombres supérieurs ou égaux à 5 et les nombres inférieurs à 5 dans deux listes :

#Créez plusieurs listes selon que les éléments remplissent les conditions
nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
supérieur_à_5 = []
moins_than_5 = []

pour num en chiffres :
    si num >= 5 :
        supérieur_à_5.append(num)
    autre:
        moins_than_5.append(num)

print("Liste des nombres supérieurs ou égaux à 5 :", Greater_than_5)
print("Liste des nombres inférieurs à 5 :", less_than_5)

Cela stockera le nombre dans deux listes différentes selon qu'il est supérieur ou égal à 5.

Résumer

Dans l'ensemble, cet article a présenté différentes manières de créer plusieurs listes à l'aide de boucles en Python, et les a démontrées et expliquées avec des exemples de code spécifiques. En partant de différentes perspectives telles que les quantités fixes, les conditions, les types de données, les attributs, les plages d'index, les valeurs de hachage, etc., nous avons exploré comment utiliser de manière flexible des boucles combinées avec des compréhensions de listes ou des instructions conditionnelles pour créer plusieurs listes. Ces méthodes améliorent non seulement la flexibilité et la maintenabilité du code, mais accélèrent également le processus de développement et améliorent les performances du programme.

Grâce à l'étude de cet article, les lecteurs peuvent maîtriser les compétences de traitement des données en Python et de leur organisation en plusieurs listes, afin d'exploiter et de gérer les données plus efficacement. Dans le même temps, une utilisation flexible des fonctionnalités de Python telles que les boucles et la compréhension de listes peut rendre le code plus concis, clair et élégant. Dans les projets réels, choisir la méthode appropriée pour créer plusieurs listes en fonction de besoins spécifiques deviendra une compétence importante en programmation et contribuera à améliorer la qualité et l'efficacité du code.

Cliquez pour suivre et découvrir les nouvelles technologies de Huawei Cloud dès que possible~

J'ai décidé d'abandonner les logiciels industriels open source. Événements majeurs : OGG 1.0 est sorti, Huawei a contribué à tout le code source. Ubuntu 24.04 LTS a été officiellement publié. L'équipe de Google Python Foundation a été licenciée par la "montagne de merde de code" . ". Fedora Linux 40 a été officiellement lancé. Une société de jeux bien connue a publié de nouvelles réglementations : les cadeaux de mariage des employés ne doivent pas dépasser 100 000 yuans. China Unicom lance la première version chinoise Llama3 8B au monde du modèle open source. Pinduoduo est condamné à compenser 5 millions de yuans pour concurrence déloyale Méthode de saisie dans le cloud domestique - seul Huawei n'a aucun problème de sécurité de téléchargement de données dans le cloud.
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4526289/blog/11059478
conseillé
Classement