Maison  >  Article  >  développement back-end  >  Compresser des listes de différentes tailles en Python

Compresser des listes de différentes tailles en Python

王林
王林avant
2023-09-04 21:25:051184parcourir

Compresser des listes de différentes tailles en Python

Présentation

En Python, les listes sont l'une des méthodes largement utilisées pour stocker des valeurs numériques ou de chaîne. Ils sont modifiables et définis à l'aide de crochets []. Les listes de ce type peuvent contenir différents éléments, qui peuvent avoir différents types de données. Parfois, nous pouvons avoir besoin de compresser différentes listes en Python à des fins de prétraitement des données.

Dans cet article, nous aborderons les opérations de compression sur les listes et comment compresser des listes de différentes tailles en Python en utilisant différentes méthodes et techniques. Cet article aidera à comprendre l’opération de compression d’une liste et à effectuer la même chose si nécessaire.

Commençons maintenant à discuter des listes et de leurs opérations de compression.

Compression de liste

Comme nous le savons tous, les listes sont un moyen courant de stocker des éléments, qui peuvent contenir des valeurs numériques ou des chaînes. Ce sont des types mutables qui sont couramment utilisés lorsque vous travaillez avec des ensembles de données lors de l'utilisation de Python.

L'opération de compression des listes signifie que nous compressons en fait deux listes différentes, ou plus simplement, nous associons les valeurs de deux listes différentes.

Pour clarifier l’idée qui se cache derrière, prenons un exemple. Disons que nous avons deux listes :

L1 = [1,2,3]

L2 = ['un', 'deux', 'trois']

Comme nous pouvons le voir ci-dessus, nous avons deux listes différentes et une fois que nous effectuons une opération de compression sur elles, le résultat sera :

Zipped_List = [(1, 'un'), (2, 'deux'), (3, 'trois')]

Discutons maintenant des cas d'utilisation des listes compressées en Python.

Application de compression de listes

Compresser deux listes différentes de même taille ou de tailles différentes peut être utile dans de nombreuses situations. Discutons-en :

Représentation du dictionnaire : L'opération de compression sur deux listes différentes peut nous aider à créer ou à représenter les listes sous forme de dictionnaires. Nous pouvons faire la même chose en obtenant une liste contenant les clés et une autre liste contenant les valeurs du dictionnaire.

Traitement des données : Dans certains cas, afin de continuer à effectuer la tâche, un traitement des données est nécessaire et une liste commune peut être nécessaire au lieu de tant de listes différentes. Dans ce cas, les opérations de compression peuvent être très utiles.

Itération des données : Les opérations de compression peuvent également être utilisées lorsque vous souhaitez parcourir des éléments de la liste et que vous souhaitez effectuer une opération sur eux.

Liste compressée

Il existe de nombreuses façons de compresser différentes listes, discutons de certaines d'entre elles.

Méthode 1 : Utiliser des boucles For et des énumérations

L'utilisation de boucles for avec des énumérations est l'un des moyens les plus simples de compresser deux listes de tailles différentes.

# Using For Loop with Enumerate
#1. Define two lists 2. Run a for loop with enumerate 3. Zip the lists

# define the two lists
list1 = [1,2,3,4,5,6]
list2 = [1, 5, 6]

# print the original lists
print ("The input list 1 is : " + str(list1))
print ("The input list 2 is : " + str(list2))

# for i, j run a for loop with enumerate
# append the values with j
res = []
for i, j in enumerate(list1):
  res.append((j, list2[i % len(list2)]))

# print the zipped list
print ("The Zip List from List 1 and 2 is : " + str(res))

Comme nous pouvons le voir dans le code ci-dessus, nous saisissons deux listes différentes, Liste 1 et Liste 2, qui sont de tailles différentes.

Nous imprimons d’abord la liste originale, puis exécutons une boucle for en utilisant la fonction d’énumération qui ajoutera les éléments de la liste et compressera les deux listes.

Sortie

La sortie du code suivant est :

The input list 1 is : [1, 2, 3, 4, 5, 6] 
The input list 2 is : [1, 5, 6] 
The Zip List from List 1 and 2 is : [(1, 1), (2, 5), (3, 6), (4, 1), (5, 5), (6, 6)]

Méthode 2 : Utiliser la méthode Zip()

L'utilisation du mot-clé Zip() peut également nous aider à compresser deux listes de tailles différentes. Ici, nous pouvons utiliser des mots-clés spécifiques dans la boucle.

# using Zip()

# define the list
num_list = [1, 2, 3, 4] # numerical list
str_list = ['one', 'two', 'three', 'four', 'none', 'none'] #string list

# zip the lists with using zip()

zipped_list = [(num, s) for num, s in zip(num_list, str_list)]
print(zipped_list)

Comme nous pouvons le voir dans le code ci-dessus, nous avons deux listes différentes de tailles différentes et nous utilisons zip() pour ajouter les éléments de la liste et compresser la liste.

Sortie

La sortie du code suivant est :

[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

Méthode 3 : utiliser Itertools

C'est l'une des méthodes classiques pour compresser deux listes de tailles différentes. Ici, nous utiliserons Itertools pour compresser la liste.

# using the itertools 

# itertools + cycle

# import the cycle from itertools
from itertools import cycle

# define two different lists
list1 = [1,2,3,4,5,6,7]
list2 = [10, 50, 21]

# print the list1 and list2
print ("The input list 1 is : " + str(list1))
print ("The input list 2 is : " + str(list2))

# now use the cycle imported from itertools 
res = list(zip(list1, cycle(list2))
      if len(list1) > len(list2) #check for conditions
      else zip(cycle(list1), list2))

# printing the zipped list
print ("The Zip List from List 1 and 2 is: " + str(res))

Comme nous pouvons le voir dans le code ci-dessus, la bibliothèque itertools est déjà installée et la boucle en est importée.

Ensuite, nous avons défini deux listes de tailles différentes et imprimé la même liste. Ensuite, la boucle est utilisée pour compresser les listes en passant les deux listes dans la même liste.

Sortie

La sortie de ce code est :

The input list 1 is : [1, 2, 3, 4, 5, 6, 7] 
The input list 2 is : [10, 50, 21] 
The Zip List from List 1 and 2 is : [(1, 10), (2, 50), (3, 21), (4, 10), (5, 50), (6, 21), (7, 10)]

Conclusion

Dans cet article, nous avons discuté des listes, quelles sont les opérations de compression des listes, quelles en sont les applications et comment compresser deux listes de tailles différentes en Python.

Nous avons discuté d'un total de 3 méthodes à l'aide desquelles vous pouvez compresser une liste en Python et n'importe qui peut compresser une liste selon l'énoncé du problème et les exigences. Cet article aidera à comprendre l’opération de compression d’une liste et à effectuer la même chose en cas de besoin.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer