Menu
Coddy logo textTech

Inverser une liste

Fait partie de la section Logique & Flux du Journey Dart de Coddy — leçon 3 sur 65.

Parfois, vous avez besoin de visualiser les éléments d'une liste dans l'ordre inverse. Dart fournit la propriété .reversed qui crée une vue inversée de votre liste sans modifier la liste d'origine.

La propriété .reversed renvoie un itérable qui présente les éléments de la liste dans l'ordre inverse. Cela signifie que le dernier élément apparaît en premier, l'avant-dernier apparaît en deuxième, et ainsi de suite.

List<int> numbers = [1, 2, 3, 4, 5];

var reversedNumbers = numbers.reversed;
print(reversedNumbers);  // (5, 4, 3, 2, 1)

// La liste originale reste inchangée
print(numbers);  // [1, 2, 3, 4, 5]

Un détail important est que .reversed retourne un itérable, pas une liste. Si vous avez besoin de l'utiliser comme une liste, vous pouvez le convertir en utilisant .toList(). Cette propriété est particulièrement utile lorsque vous devez traiter des données dans l'ordre inverse tout en gardant votre liste originale intacte.

challenge icon

Défi

Facile

Créez un programme qui analyse une liste de lecture en affichant les livres dans leur ordre original et inversé. Votre programme doit :

  1. Lire une chaîne de caractères en entrée représentant le titre de la liste de lecture
  2. Lire plusieurs chaînes de caractères représentant les titres des livres (la saisie s'arrête lorsque vous recevez une chaîne vide)
  3. Utiliser la propriété .reversed pour créer une vue inversée de la liste de livres
  4. Afficher l'analyse de la liste de lecture exactement dans le format indiqué ci-dessous

Par exemple, si le titre de la liste de lecture est "Summer Reading" et que les livres sont "1984", "To Kill a Mockingbird", "The Great Gatsby", votre programme doit afficher :

Reading List: Summer Reading
Books in original order: (1984, To Kill a Mockingbird, The Great Gatsby)
Books in reversed order: (To Kill a Mockingbird, The Great Gatsby, 1984)
Total books: 3

Si le titre de la liste de lecture est "Quick Reads" et qu'un seul livre "Animal Farm" est fourni, votre programme doit afficher :

Reading List: Quick Reads
Books in original order: (Animal Farm)
Books in reversed order: (Animal Farm)
Total books: 1

Votre programme doit utiliser la propriété .reversed pour afficher les livres dans l'ordre inverse. Rappelez-vous que .reversed renvoie un itérable, donc lorsque vous l'afficherez, il apparaîtra avec des parenthèses plutôt qu'avec des crochets.

Aide-mémoire

Utilisez la propriété .reversed pour voir les éléments de la liste dans l'ordre inverse sans modifier la liste d'origine :

List<int> numbers = [1, 2, 3, 4, 5];

var reversedNumbers = numbers.reversed;
print(reversedNumbers);  // (5, 4, 3, 2, 1)

// La liste d'origine reste inchangée
print(numbers);  // [1, 2, 3, 4, 5]

La propriété .reversed renvoie un itérable, pas une liste. Pour la reconvertir en liste, utilisez .toList().

Essayez vous-même

import 'dart:io';

void main() {
  // Lire le titre de la liste de lecture
  String? title = stdin.readLineSync();
  
  // Lire les titres de livres jusqu'à une chaîne vide
  List<String> books = [];
  String? book;
  while ((book = stdin.readLineSync()) != null && book!.isNotEmpty) {
    books.add(book);
  }
  
  // TODO: Écrivez votre code ici
  // Utilisez la propriété .reversed pour créer une vue inversée de la liste des livres
  // Affichez la sortie au format requis
  
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux