Forum

différence entre E et [E]

différence entre E et [E]

par Denis Bouhineau,
Nombre de réponses : 0

> Est-ce que vous pourriez m'expliquer c'est quoi la différence entre E et [E]?
 
   E peut être n'importe quoi, un entier, une constante, une liste, etc. (en général, on choisit pour une variable le nom E quand c'est un élément de base, par exemple un entier quand on travaille sur des entiers ou des listes d'entiers)
  [X] est une liste, avec un seul élément, (on appelle éventuellement cela un singleton), cet élément est X, X peut être n'importe quoi (cf. prec.)

Dans un cas on a un éléments qlcq (liste ou autre), dans l'autre on a une liste (obligatoirement), mais pas n'importe quelle liste, c'est une liste d'un élément, ni plus ni moins, 1 élément exactement.

> concatene(A, E, F). faut changer cette ligne par concatene(A, [E], F) pour avoir 100/100.
 
  dans concatene, à priori, les trois paramètres sont des listes, donc E et [E] peuvent avoir du sens, car tous les deux sont des listes
  mais E sera une liste générale (remarque : en général, on emploi un nom de variable plus explicite L par exemple pour évoquer une liste ; avec E il y a un doute sur le fait que l'on a une liste ou un élément de liste),
  alors que [E] ne prendra en compte que les listes d'un éléments (c'est limitatif)

prenons qlq exemples :
[1] peut être E et [E] (avec ici, E=1)
[[1,2,3]] peut être E et [E] (avec ici E = [1,2,3])
[charles] peut être E et [E] (avec ici E = charles)
 
mais

[] peut être E, mais pas [E] (car cette liste n'a pas d'élément)
[1,2] peut être E mais pas [E] (car cette liste a plus d'un élément)
[1,2,3] peut être E mais pas [E] (car cette liste a plus d'un élément)
0 peut être E mais pas [E] (car 0 n'est pas une liste)
1 peut être E mais pas [E] (car 1 n'est pas une liste)
[[],[[]]] peut être E mais pas [E] (car cette liste a plus d'un élément)