Last active
March 7, 2024 16:59
-
-
Save TGITS/384a5e145fe2786e02a61a9792be5fdb to your computer and use it in GitHub Desktop.
Exemples d'utilisation de zip en Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
houses = ["Stark", "Lannister", "Baratheon", "Greyjoy"] | |
seats = ["Winterfell", "Casterly Rock", "Storm's End", "Pyke"] | |
sigils = ["A Gray Direwolf", "A Golden Lion", "A Crowned Black Stag", "A Golden Kraken"] | |
words = ["Winter is coming", "Hear me roar !", "Our is the fury !", "We do not sow"] | |
print(f"houses : {houses}") | |
print(f"seats : {seats}") | |
print(f"sigils : {sigils}") | |
print(f"words : {words}") | |
print("\n###########\n") | |
print( | |
f"zip(houses, seats, sigils, words) en tant que liste : \n{list(zip(houses, seats, sigils, words))}", | |
) | |
print( | |
"\nunpacking de zip(houses, seats, sigils, words) :\n", | |
*zip(houses, seats, sigils, words), | |
) | |
print("\n###########\n") | |
print( | |
"Affichage de chacun des éléments de la séquence zip(houses, seats, sigils, words) via un for :" | |
) | |
for got_house_info in zip(houses, seats, sigils, words): | |
print(got_house_info) | |
print("\n###########\n") | |
print("Utilisation dans une compréhension") | |
print( | |
"\n".join( | |
[f"{house} : {word}" for house, _, _, word in zip(houses, seats, sigils, words)] | |
) | |
) | |
print("\n###########\n") | |
print("Réalisation d'un 'unzip' et retour à la situation initiale") | |
print( | |
"zip(*zip(houses, seats, sigils, words)) comme liste : ", | |
list(zip(*zip(houses, seats, sigils, words))), | |
) | |
print("\nunpacking de zip(*zip(houses, seats, sigils, words)) :") | |
houses_2, seats_2, sigils_2, words_2 = zip(*zip(houses, seats, sigils, words)) | |
print(f"=> houses_2 : {houses_2}") | |
print(f"=> seats_2 : {seats_2}") | |
print(f"=> sigils_2 : {sigils_2}") | |
print(f"=> seats_2 : {words_2}") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dna_nucleotides = ["G", "C", "T", "A"] | |
rna_nucleotides = ["C", "G", "A", "U"] | |
print("La liste des nucléotides de l'ADN :\n", dna_nucleotides) | |
print("La liste des nucléotides de l'ARN :\n", rna_nucleotides) | |
print( | |
"Résultat de l'application de zip sur les 2 listes :\n", | |
zip(dna_nucleotides, rna_nucleotides), | |
) | |
print( | |
"Résultat de l'application de zip sur les 2 listes après unpacking :\n", | |
*zip(dna_nucleotides, rna_nucleotides), | |
) | |
print( | |
"Résultat de l'application de zip sur les 2 listes après conversion en liste :\n", | |
list(zip(dna_nucleotides, rna_nucleotides)), | |
) | |
print( | |
"Résultat de l'application de zip sur les 2 listes après conversion en tuple :\n", | |
tuple(zip(dna_nucleotides, rna_nucleotides)), | |
) | |
print( | |
"Résultat de l'application de zip sur les 2 listes après conversion en dictionnaire :\n", | |
dict(zip(dna_nucleotides, rna_nucleotides)), | |
) | |
print("\n###########\n") | |
for pair in zip(dna_nucleotides, rna_nucleotides): | |
print("Pair de nucléotides ADN - ARN :", pair) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from itertools import count, islice, zip_longest | |
print("zip avec des séquences infinies") | |
print(list(islice(zip(count(0), count(1), count(2), count(3)), 10))) | |
print("\n###########\n") | |
print("zip avec des séquences de tailles différentes") | |
numbers = [1, 2, 3, 4, 5] | |
lower_cap_letters = ["a", "b", "c", "d"] | |
upper_cap_letters = ["A", "B", "C"] | |
print(numbers) | |
print(lower_cap_letters) | |
print(upper_cap_letters) | |
print( | |
"Les 3 listes précédentes 'zippées' avec la fonction zip :", | |
list(zip(numbers, lower_cap_letters, upper_cap_letters)), | |
) | |
print("\n###########\n") | |
print("Utilisation de zip_longest de itertools") | |
print(numbers) | |
print(lower_cap_letters) | |
print(upper_cap_letters) | |
print( | |
"Les 3 listes précédentes 'zippées' avec la fonction itertools.zip_longest :", | |
list(zip_longest(numbers, lower_cap_letters, upper_cap_letters)), | |
) | |
print("\n###########\n") | |
print("Fonction zip avec 0 ou 1 seule séquence") | |
print(list(zip())) | |
print(list(zip(range(10)))) | |
print(list(zip_longest(range(10)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment