Python : des opérations courantes sur les listes

Dans ce guide, on détermine la taille d’une liste avec len() python, et d’autres opérations courantes.

La fonction len() python

En Python, la fonction intégrée len() est employée pour déterminer la longueur, c’est-à-dire le nombre d’éléments, d’une liste. Cette fonction est particulièrement utile pour les listes bidimensionnelles et multidimensionnelles. Pour compter le nombre d’occurrences d’un élément dans une liste, il est préférable d’utiliser la méthode count() ou la classe Counter de la bibliothèque standard “collections”. Pour d’autres types d’objets, veuillez vous référer à des ressources spécifiques.

Utilisation de len() en python

De nombreuses opérations sont possibles sur diverses collections de classes, et cela s’applique fréquemment à de nombreux autres types d’objets. Une opération courante consiste à déterminer la taille de la collection, c’est-à-dire le nombre d’éléments qu’elle contient. Pour ce faire, vous pouvez utiliser la fonction len. Voici un exemple pour illustrer son utilisation :

ma_liste = [1, 2, 3, 4, 5]
longueur = len(ma_liste)
print("La longueur de la liste est :", longueur)

Dans cet exemple, nous avons une liste ma_liste, et nous utilisons la fonction len pour calculer sa longueur, c’est-à-dire le nombre d’éléments. Ensuite, le résultat s’affiche.

len.

python len ()
Python LEN
```python
# Création de différentes variables
a = "a string"
b = ["my", "second", "favorite", "list"]
c = (1, "tuple")
d = {'a': 'b', 'b': 2, 'c': False}
e = {1, 2, 3, 4, 4, 4, 4, 2, 2, 2, 1}

# Utilisation de la fonction len() pour obtenir la longueur de chaque variable
# et affichage des résultats
print(len(a), len(b), len(c), len(d), len(e))
```

Résultat attendu :
```
8 4 2 3 4
```

 

Manipulation de données en Python : variables, longueur et découpage de séquences

Dans ce script, nous définissons une variété de variables couvrant différents types de données tels que des chaînes de caractères, des listes, des tuples et des dictionnaires. Ensuite, la fonction len() est employée pour calculer la longueur de chaque variable, c’est-à-dire le nombre d’éléments qu’elles contiennent, et ces valeurs sont affichées.

Pour les types de données séquentiels tels que les listes, les tuples et les chaînes, il est possible de créer des sous-séquences en spécifiant une plage d’indices à l’aide de crochets et de deux-points.

La plage d’indices est “à moitié ouverte”. Donc, la tranche débute avec le premier indice spécifié et se poursuit jusqu’au dernier indice, mais sans l’inclure.

De plus, vous pouvez compter les indices à partir de la fin de la séquence en utilisant des valeurs négatives. Si vous omettez le premier indice, cela équivaut à partir de zéro. Si vous omettez le second indice, la tranche s’étendra jusqu’à la fin de la séquence.

Itération sur une collection en python 

L’itération sur des collections est une caractéristique fondamentale de Python, qui permet de parcourir un par un les éléments d’une liste, d’un dictionnaire ou d’une chaîne de caractères, afin d’effectuer des opérations spécifiques sur chaque élément. Cette capacité est essentielle pour le traitement de données, la recherche d’informations et la manipulation de structures de données. Cette exploration couvrira les diverses méthodes d’itération, les boucles, et les fonctionnalités essentielles pour une utilisation avancée de l’itération en Python.

Découper une séquence c’est créer un nouvel objet

```python
# Création de différentes variables
a = "a string"
b = ["my", "second", "favorite", "list"]
c = (1, 2, 3, "tuple")

# Utilisation de l'indexation pour extraire des sous-séquences
# et affichage des résultats
print(a[3:7])  # Extrait la sous-chaîne de l'indice 3 (inclus) à l'indice 7 (exclus)
print(a[1:-2])  # Extrait la sous-chaîne de l'indice 1 à l'avant-dernier élément
print(b[1:])  # Extrait une sous-liste à partir de l'indice 1 jusqu'à la fin
print(c[:2])  # Extrait une sous-tuple jusqu'à l'indice 2
```

Résultat attendu :
```
trin
stri
['second', 'favorite', 'list']
(1, 2)
```

Ce code crée différentes variables, y compris une chaîne de caractères, une liste, et un tuple. Ensuite, il utilise l'indexation pour extraire des sous-séquences de ces collections et affiche les résultats correspondants.

Itérer sur une liste avec une boucle for

 Il est très courant de vouloir boucler sur une collection. La manière pythonique de faire une itération est avec une boucle for.

Les exemples suivants illustrent la syntaxe :

Voici des exemples de boucles for avec différentes collections :

mylist = [1, 3, 5]
mytuple = (1, 2, 'skip a few', 99, 100)
myset = {'a', 'b', 'z'}
mystring = 'abracadabra'
mydict = {'a': 96, 'b': 97, 'c': 98}

# Boucle for pour une liste
for item in mylist:
    print(item)

# Boucle for pour un tuple
for item in mytuple:
    print(item)

# Boucle for pour un ensemble
for element in myset:
    print(element)

# Boucle for pour une chaîne de caractères
for character in mystring:
    print(character)

# Boucle for pour un dictionnaire (clés)
for key in mydict:
    print(key)

# Boucle for pour un dictionnaire (clés et valeurs)
for key, value in mydict.items():
    print(key, value)

# Boucle for pour un dictionnaire (valeurs)
for value in mydict.values():
    print(value)

# Utilisation de la classe range pour une séquence de nombres
for i in range(10):
    j = 10 * i + 1
    print(j, end=' ')

Ces boucles for parcourent différentes collections et affichent leurs éléments. La dernière boucle utilise la classe range pour générer une séquence de nombres dans une boucle for.

Autres formes de flux de contrôle

Une instruction “if” peut également comporter une clause “else”, qui consiste en un autre bloc de code exécuté lorsque la condition s’évalue comme “False”.

Exemple :

x = 5

if x > 10:
    print("x est supérieur à 10")
else:
    print("x n'est pas supérieur à 10")

Dans cet exemple, si la valeur de “x” dépasse 10, le premier bloc d’instructions s’exécute. Sinon, le code se situe après la clause “else” s’exécute.

L’utilisation de la Boucle While en Python

Une boucle “while” comporte également une condition, évaluée au début d’un bloc de code. Si cette condition est évaluée comme “True”, le bloc de code est exécuté, puis la boucle se répète. Cette répétition continue tant que la condition reste “True” ou jusqu’à ce que la boucle atteigne une instruction “break” qui met fin à son exécution.

```python
# Initialisation de la variable x
x = 1

# Boucle while pour afficher les puissances de 2 inférieures à 128
while x < 128:
    print(x, end=' ')
    x = x * 2
```

Ce code initialise la variable “x” à 1, puis utilise une boucle “while” pour afficher les puissances de 2 inférieures à 128. La boucle continue d’exécuter tant que “x” est inférieur à 128, et à chaque itération, “x” est multiplié par 2 pour générer la prochaine puissance de 2.

Gestion des erreurs avec les blocs try-except en python

Un bloc “try” est une méthode permettant de capturer et de gérer les erreurs pendant l’exécution d’un programme. Lorsque vous avez du code susceptible de provoquer une erreur, mais que vous ne souhaitez pas que cette erreur entraîne la panne de votre programme, vous pouvez envelopper ce code dans un bloc “try”. Cela vous permet de détecter les erreurs, également appelées exceptions, et de prendre des mesures pour les gérer.

Un exemple simple de cette utilisation est lorsque vous souhaitez convertir une valeur en nombre à virgule flottante. Nous pouvons convertir de nombreux types d’objets en nombres à virgule flottante, mais certains ne le permettent pas. En utilisant un bloc “try-except”, vous pouvez tenter la conversion et, si elle réussit, tout se déroule normalement. Cependant, si une exception de type “ValueError” survient, vous pouvez mettre en œuvre une autre action à la place pour éviter que votre programme ne plante.

# Définition d'une chaîne de caractères qui n'est pas un nombre
x = "not a number"

try:
    # Tentative de conversion en nombre à virgule flottante
    f = float(x)
except ValueError:
    # Gestion de l'exception en cas d'échec de la conversion
    print("Vous ne pouvez pas effectuer cette opération !")

Dans cet exemple, nous essayons de convertir la chaîne de caractères “x” en un nombre à virgule flottante en utilisant la fonction float(). Cependant, cette conversion échoue car la chaîne de caractères ne représente pas un nombre valide. L’exception ValueError est levée, et nous utilisons un bloc “try-except” pour gérer cette exception en affichant un message d’erreur approprié.

Le rôle d’une fonction en Python

Une fonction joue également un rôle essentiel dans la gestion du flux de contrôle d’un programme. En Python, la création d’une fonction se fait en utilisant le mot-clé “def”. Ce mot-clé permet de créer un objet pour stocker le bloc de code de la fonction. Les paramètres de la fonction sont déclarés entre parenthèses après le nom de la fonction. L’instruction “return” est utilisée pour renvoyer le contrôle de flux à l’endroit où la fonction a été appelée, tout en déterminant la valeur de retour de la fonction.

Il est important de noter qu’il n’est pas nécessaire de spécifier les types d’objets que doit attendre une fonction en tant qu’arguments. Cette flexibilité est pratique car elle permet d’utiliser la même fonction pour opérer sur différents types d’objets, comme illustré dans l’exemple précédent. Si nous définissons une fonction avec le même nom deux fois, même en modifiant ses paramètres, la première définition sera remplacée par la seconde, tout comme lors de la réaffectation d’une variable.

Le nom d’une fonction est simplement un label ; il réfère à un objet, en l’occurrence la fonction elle-même.

En Python, nous pouvons traiter les fonctions comme n’importe quel autre objet. Voici la syntaxe générique d’une fonction en Python :

def nom_de_la_fonction(paramètre1, paramètre2, ...):
    # Corps de la fonction
    # Instructions
    return valeur_de_retour

Une fonction est définie avec le mot-clé “def”, suivie du nom de la fonction et de ses paramètres entre parenthèses. Le corps de la fonction contient les instructions à exécuter, et la valeur de retour (si nécessaire) est déterminée par l’instruction “return”.

# Définition de la fonction foo
def foo(x):
    return x + 2

# Définition de la fonction bar qui prend une autre fonction en argument
def bar(somefunction):
    return somefunction(4)

# Appel de la fonction bar avec la fonction foo comme argument
resultat1 = bar(foo)
print(resultat1)

# Attribution de la fonction foo à la variable somevariable
somevariable = foo

# Appel de la fonction bar avec somevariable comme argument (qui est la fonction foo)
resultat2 = bar(somevariable)
print(resultat2)

Dans cet exemple, nous avons deux fonctions : “foo” et “bar”. La fonction “bar” accepte une fonction en tant qu’argument, l’appelle avec l’argument 4, et renvoie le résultat. Nous appelons d’abord “bar” avec la fonction “foo” comme argument, puis nous attribuons la fonction “foo” à la variable “somevariable”. Ensuite, nous appelons à nouveau “bar” avec “somevariable” comme argument, ce qui équivaut à appeler “bar(foo)” une seconde fois. Les deux appels produisent le même résultat, et nous obtenons l’affichage des résultats à chaque fois.

Autres articles

Héritage en Python : Comprendre les Fondements...
L'héritage est l'un des concepts fondamentaux de la programmation orientée...
Read more
Guide Complet sur les Nombres Premiers en...
Dans cet article, nous explorerons en détail ce...
Read more
Vérifier si une chaîne de caractères est...
Cet article explore différentes approches pour vérifier si une chaîne...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *