Pourquoi les double crochets pour les listes ?

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Abdel Zine
Messages : 75
Enregistré le : 28 Nov 2006, 09:56

Pourquoi les double crochets pour les listes ?

Messagepar Abdel Zine » 31 Jan 2007, 06:26

Bonjour,

Soit l'exemple suivant pris du doc objets.pdf de Pr. Besse :
> note
DataMining Scoring Sondages
1 5 10 7
2 6 12 8
3 4 8 6
4 11 9 8
5 9 11 7

> ex.liste <-list(nom="Tergal", prenom = "Jean-Claude", age = "23", note=note)


Quelle est la différence entre ex.liste[x] et ex.liste[[x]] ?
> ex.liste[1]
$nom
[1] "Tergal"

> ex.liste[[1]]
[1] "Tergal"
>
et Pourquoi doit-on utiliser les doubles crochets au lieu de simples [] pour accéder à un élément x ?
Nul ne peut atteindre l'aube sans passer par le chemin de la nuit. Khalil Gibran.

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 31 Jan 2007, 08:31

Bonjour,


Voici ta réponse tirée de R et Splus Cours et manuel de référence à l'usage des débutants de Emmanuelle Comets.

"Quand on appelle une liste par la syntaxe nomdelaliste[i], on fait appel à une représentation vectorielle de la liste, alors que la syntaxe nomdelaliste[[i]] fait appel à la représentation en liste. On utilise ces deux syntaxes de façon différente. Si on veut afcher le ième élément de la liste, il est indifférent d'utiliser l'une ou l'autre des formes. En revanche si on veut afcher plusieurs éléments de la liste, il faut utiliser la représentation vectorielle sinon on a des résultats étranges."

Maxime

Abdel Zine
Messages : 75
Enregistré le : 28 Nov 2006, 09:56

Messagepar Abdel Zine » 31 Jan 2007, 21:09

Bonsoir,
Je viens de télécharger ce document et j'y trouve (à la même page) la réponse à une de mes questions dans :
Pour faire référence à l'élément j de l'élément i de la liste, on utilise la syntaxe nomdelaliste[[i]][j].
(...)
Note : l'extension à d'autres types de données est immédiate. Supposons que l'élément nomdelaliste[[i]] soit une matrice, on référencera son élément [j,k] par nomdelaliste[[i]][j,k].

Très utile, merci Maxime !
Nul ne peut atteindre l'aube sans passer par le chemin de la nuit. Khalil Gibran.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité