Python >> Tutoriel Python >  >> Python

Listes, tuples et ensembles Python :quelle est la différence ?

Les listes, tuples et ensembles Python sont des structures de données courantes qui contiennent d'autres objets. Voyons en quoi ces structures sont similaires et en quoi elles sont différentes en parcourant quelques exemples de code.

En Python, nous avons quatre structures de données intégrées qui peuvent stocker une collection d'éléments différents. Ce sont des listes, des dictionnaires, des tuples et des ensembles. Si vous connaissez déjà la théorie derrière ces structures de données, vous pouvez suivre notre cours Python Data Structures in Practice et acquérir une expérience pratique de leurs utilisations les plus fréquentes. Dans cet article, nous nous concentrerons sur les listes, les tuples et les ensembles Python et explorerons leurs similitudes et leurs différences.

Listes Python

Une liste Python est une structure de données intégrée qui contient une collection d'éléments. Pour comprendre le fonctionnement des listes, passons directement à l'exemple.

Nous voulons créer une liste qui comprend les noms des présidents américains élus lors des six dernières élections présidentielles. Les éléments de la liste doivent être placés entre crochets [] et séparés par une virgule. Pour créer une liste, on peut simplement écrire des éléments entre crochets :

us_presidents_list = ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush']

Les éléments de cette liste apparaissent dans un ordre précis et commencent par le président actuel. Si un président a été élu deux fois (a servi pendant deux mandats), nous l'incluons deux fois. Ici, nous tirons parti de deux caractéristiques importantes des listes :les listes sont ordonnées et peut contenir des doublons .

Lorsque vous travaillez avec une liste, vous pouvez parcourir celle-ci, accéder à ses éléments et également ajouter, modifier et supprimer des éléments de liste. Ce sont les techniques de base que vous pouvez apprendre dans notre cours Python Data Structures in Practice. Passons maintenant en revue quelques exemples :

  • Itération sur la liste. En parcourant la liste, nous pouvons effectuer une opération particulière (par exemple, print ) avec chaque élément de la liste :

    for president in us_presidents_list:
        print(president)
    Output:
    Joe Biden
    Donald Trump
    Barack Obama
    Barack Obama
    George W. Bush
    George W. Bush
    
  • Ici, nous avons imprimé chaque élément séparément. En parcourant la liste, nous pourrions également mettre tous les noms en majuscules ou extraire les noms de famille dans une liste séparée.

  • Accéder aux éléments de la liste. Nous pouvons accéder à un élément de liste par sa position d'index :

    print(us_presidents_list[1])
    Output:
    Donald Trump
    

    En Python, l'indexation commence par 0. Ainsi, nous avons accédé au deuxième élément de la liste en utilisant l'index 1.

  • Modification des listes. Les listes sont mutables , ce qui implique que nous pouvons ajouter, supprimer et modifier leurs éléments. Par exemple, nous pouvons utiliser append() pour ajouter un nouvel élément en fin de liste :

    us_presidents_list.append('Bill Clinton')
    print(us_presidents_list)
    Output:
    ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush', 'Bill Clinton']
    

    On peut supprimer n'importe quel élément de la liste avec le remove() méthode :

    us_presidents_list.remove('Bill Clinton')
    print(us_presidents_list)
    Output:
    ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush']
    

    Nous pouvons également modifier les éléments individuels de la liste en y accédant avec des indices :

    us_presidents_list[4] = 'George Bush'
    print(us_presidents_list)
    Output:
    ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George Bush', 'George W. Bush']
    

Si vous travaillez beaucoup avec des données numériques, vous pouvez utiliser des tableaux plutôt que des listes. Découvrez en quoi les listes Python sont différentes des tableaux dans cet article.

Tuples Python

Un tuple Python est une autre structure de données intégrée qui peut contenir une collection d'éléments. Les tuples sont techniquement très similaires aux listes. Cependant, ils ont généralement des applications différentes; alors que les listes contiennent principalement une collection d'éléments différents, les éléments de tuple correspondent souvent à un enregistrement.

Par exemple, il serait plus courant de stocker des informations de base sur un président américain (plutôt qu'une liste de présidents américains) dans un tuple. Alors, créons un us_president_tuple . Un tuple peut être créé en plaçant tous les éléments entre parenthèses (), séparés par des virgules :

us_president_tuple = ('Joe', 'Biden', '2021-01-20', 'Democratic')

Ici, nous avons inclus le prénom, le nom de famille, la date d'investiture et le parti politique du président. Ces éléments apparaissent dans un ordre spécifique - les tuples sont ordonnés . Nous n'avons pas d'éléments en double dans notre tuple, mais vous pouvez stocker les doublons dans les tuples Python .

Maintenant, effectuons quelques opérations de base avec notre tuple. Nous pouvons le parcourir et accéder à ses éléments avec indexation :

  • Itération sur le tuple. Comme avec les listes, nous pouvons imprimer chaque élément de notre tuple séparément en itérant dessus :

    for i in us_president_tuple:
        print(i)
    Output:
    Joe
    Biden
    2021-01-20
    Democratic
    

    Nous pouvons faire beaucoup d'autres choses lors de l'itération sur des éléments de tuple, par ex. vérifier que la longueur de chaque élément ne dépasse pas une valeur particulière, accéder au type de données de chaque élément de tuple, etc.

  • Accéder aux éléments de tuple. Nous pouvons accéder aux éléments de tuple en utilisant l'indexation. Prenons par exemple la date d'inauguration :

    print(us_president_tuple[2])
    Output:
    2021-01-20
    

    En utilisant l'index 2, nous avons imprimé le troisième élément du tuple, qui est la date d'inauguration.

    En accédant aux éléments de tuple, nous pouvons également obtenir le nom complet du président américain actuel :

    print(us_president_tuple[0], ‘ ‘, us_president_tuple[1])
    Output:
    Joe Biden
    

Contrairement aux listes, les tuples sont immuables . Cette structure de données ne permet pas de modifier, d'ajouter ou de supprimer des éléments individuels.

Ensembles Python

Un ensemble Python est une structure de données intégrée à Python qui, comme les listes et les tuples, contient plusieurs éléments. Pour comprendre en quoi c'est différent des listes et des tuples, passons à un autre exemple.

Nous allons créer un ensemble appelé us_presidents_set avec les noms des présidents américains. L'une des façons de créer un ensemble Python est de le définir avec des accolades {} :

us_presidents_set = {'Bill Clinton', 'Joe Biden', 'Donald Trump', 'Barack Obama', 'George W. Bush'}

Les noms de cinq présidents américains sont inclus dans un ordre aléatoire car les ensembles ne sont pas ordonnés . De plus, les ensembles ne peuvent pas contenir de doublons; ainsi, tous les noms ne sont inclus qu'une seule fois, quel que soit le nombre de mandats de cette personne en tant que président.

Prenons quelques exemples de code pour voir comment les ensembles fonctionnent en pratique.

  • Itération sur l'ensemble. Nous pouvons parcourir un ensemble pour imprimer ses éléments en utilisant exactement le même extrait de code que nous avons utilisé avec les listes :

    for president in us_presidents_set:
        print(president)
    Output:
    George W. Bush
    Joe Biden
    Bill Clinton
    Donald Trump
    Barack Obama
    

    Notez que l'ordre des éléments imprimés dans la sortie est différent de l'ordre que nous avons spécifié lors de la création de cet ensemble. C'est parce que, comme nous l'avons mentionné, les ensembles sont non ordonnés collection d'objets.

    Nous pouvons également parcourir cet ensemble pour vérifier si nous avons "Ronald Reagan" dans l'ensemble.

    reagan = False
    for president in us_presidents:
        if president == 'Ronald Reagan':
            reagan = True
    print(reagan)
    Output:
    False
    

    Ici, nous commençons par créer une variable factice, reagan , c'est égal à False . (Cela suppose que nous n'avons pas Ronald Reagan dans l'ensemble.) Ensuite, nous vérifions chaque élément de l'ensemble pour voir si l'un est égal à 'Ronald Reagan '. S'il existe un élément set égal à 'Ronald Reagan ', le reagan la variable changera en True . Comme vous le voyez dans la sortie, le reagan la variable est toujours égale à False , montrant que ce président n'est pas inclus dans l'ensemble.

  • Modifier des ensembles. Les ensembles sont mutables , nous permettant d'ajouter et de supprimer leurs éléments. Pour ajouter un seul élément à l'ensemble, il suffit d'utiliser le add() méthode :

    us_presidents_set.add('George H. W. Bush')
    print(us_presidents_set)
    Output:
    {'George W. Bush', 'Joe Biden', 'Bill Clinton', 'Donald Trump', 'George H. W. Bush', 'Barack Obama'}
    

    Pour supprimer n'importe quel élément de l'ensemble, utilisez la méthode remove() :

    us_presidents_set.remove('Bill Clinton')
    print(us_presidents_set)
    Output:
    {'George W. Bush', 'Joe Biden', 'Donald Trump', 'George H. W. Bush', 'Barack Obama'}
    

    Étant donné que les ensembles Python ne sont pas ordonnés, nous ne pouvons pas accéder ou modifier un élément individuel d'un ensemble à l'aide de l'indexation.

Apprenez-en plus sur les opérations d'ensemble Python dans ce guide complet.

Récapitulatif :la différence entre les listes, les tuples et les ensembles en Python

Maintenant, résumons ce que nous avons appris jusqu'à présent sur les listes, tuples et ensembles Python :

Listes Python Tuples Python Ensembles Python list =[item1, item2, item3]tuple =(item1, item2, item3)set ={item1, item2, item3} ordonnéordonnénon ordonné autoriser les doublonsautoriser les doublonspas de doublons mutableimmuablemutable

Ce sont les caractéristiques de base des listes, tuples et ensembles Python. Il y a plus de fonctionnalités qui peuvent influencer quelle structure de données est préférable pour une application particulière. N'oubliez pas non plus les dictionnaires Python, une autre structure de données intégrée pouvant contenir une collection d'éléments.

Pour en savoir plus sur les listes, les tuples, les ensembles et les dictionnaires, consultez notre cours interactif Python Data Structures in Practice. Il contient 118 exercices qui couvrent des cas d'utilisation typiques pour chacune des structures de données abordées dans cet article. Vous découvrirez également les listes imbriquées, qui peuvent être utilisées pour représenter des images 2D, des données tabulaires ou des plateaux de jeu virtuels. À la fin du cours, vous écrirez un vrai jeu PC !

Pour ceux qui souhaitent adopter une approche globale de l'apprentissage de Python, nous recommandons la piste Learn Programming with Python. Il comprend cinq cours entièrement interactifs qui couvrent les bases de Python et certains sujets plus avancés.

Vous ne savez toujours pas si vous devez apprendre Python ? Lisez cet article pour découvrir pourquoi Python est votre incontournable en 2021.

Merci d'avoir lu et bon apprentissage !