Objets itérables : tuples, listes, tableaux : Différence entre versions

De WikiMéca
Sauter à la navigation Sauter à la recherche
(Instructions communes aux objets de types séquentiels)
(Instructions communes aux objets de types séquentiels)
Ligne 9 : Ligne 9 :
  
 
==Instructions communes aux objets de types séquentiels==  
 
==Instructions communes aux objets de types séquentiels==  
Soit s et t des objets de type séquentiel. et i, j, k et n des entiers.
+
===Initialisation===
{| class="wikitable"
+
Initialisation d'une liste, d'un tableau, d'un tuple, d'une chaine avec valeur1,valeur2,...
|-
+
Listes :
! Opération!! Résultat !! Exemple
 
|-
 
| Listes :
 
  
 
<syntaxhighlight lang="Python" inline>s=[valeur1,valeur2,...]</syntaxhighlight>   
 
<syntaxhighlight lang="Python" inline>s=[valeur1,valeur2,...]</syntaxhighlight>   
Ligne 29 : Ligne 26 :
  
 
<syntaxhighlight lang="Python" inline>s='abcdef' </syntaxhighlight>
 
<syntaxhighlight lang="Python" inline>s='abcdef' </syntaxhighlight>
|Initialisation d'une liste, d'un tableau, d'un tuple, d'une chaine avec valeur1,valeur2,...
+
 
|<pre>>>>liste=[1,2,3]   
+
Exemples :
 +
<pre>>>>liste=[1,2,3]   
 
>>>liste
 
>>>liste
 
[1,2,3]
 
[1,2,3]
Ligne 43 : Ligne 41 :
 
'abcdef'
 
'abcdef'
 
</pre>
 
</pre>
|-
+
===Assignation===
|Pour listes et tableaux
+
Pour listes et tableaux :
  
<syntaxhighlight lang="Python" inline>s[i]=valeur</syntaxhighlight>  
+
<syntaxhighlight lang="Python" inline>s[i]=valeur1</syntaxhighlight> assigne la valeur <syntaxhighlight lang="Python" inline>valeur1</syntaxhighlight> à l'élément i de s.
|Assignation d'une valeur à l'élément i de s.
 
  
 
'''Impossible pour les chaines et tupples.''' Voir ...
 
'''Impossible pour les chaines et tupples.''' Voir ...
|rowspan="3"|<pre>>>>s=[1,2,3]
+
 
 +
 
 +
Exemple :
 +
<pre>>>>s=[1,2,3]
 
>>>s[0]
 
>>>s[0]
 
1
 
1
Ligne 61 : Ligne 61 :
 
3
 
3
 
</pre>
 
</pre>
|-
+
===Accès aux éléments===
|Pour listes, tableaux, chaines, tuples
+
====Accès à un élément unique====
 +
Pour listes, tableaux, chaines, tuples
  
<syntaxhighlight lang="Python" inline>s[i]</syntaxhighlight>  
+
<syntaxhighlight lang="Python" inline>s[i]</syntaxhighlight> revoie l''''élément d'indice i''' de s.
|Revoie l'élément d'indice i de s  
 
|-
 
|Pour listes, tableaux, chaines, tuples
 
  
<syntaxhighlight lang="Python" inline>s[-1]</syntaxhighlight>  
+
<syntaxhighlight lang="Python" inline>s[-i]</syntaxhighlight> revoie l''''élément d'indice i''' de s '''en partant de la fin'''.
|Revoie le dernier élément de s  
 
|-
 
|Pour listes, tableaux, chaines, tuples
 
  
<syntaxhighlight lang="Python" inline>s[i:j]</syntaxhighlight>  
+
<syntaxhighlight lang="Python" inline>s[-1]</syntaxhighlight> revoie le '''dernier élément''' de s
|Tranche de i inclus à j exclu de s  
+
 
|rowspan="2"| <pre>  
+
Exemples :
 +
<pre>
 +
>>> s=[1,2,3,4,5]
 +
>>> s[2]
 +
3
 +
>>>s[-1]
 +
5
 +
</pre>
 +
====Accès à des élément multiples : slicing====
 +
<syntaxhighlight lang="Python" inline>s[i:j:k]</syntaxhighlight>  
 +
renvoie '''les éléments de i inclus à j exclu de s avec un pas de k'''.
 +
Exemples : <pre>  
 
>>> s=[1,2,3,4,5]
 
>>> s=[1,2,3,4,5]
 
>>> s[2:4]
 
>>> s[2:4]
Ligne 83 : Ligne 89 :
 
[2, 4]
 
[2, 4]
 
</pre>
 
</pre>
|-
+
===Taille de l'objet===
|Pour listes, tableaux, chaines, tuples
+
Pour listes, tableaux, chaines, tuples
 
 
<syntaxhighlight lang="Python" inline>s[i:j:k]</syntaxhighlight> 
 
| Tranche de i inclus à j exclu par pas de k 
 
|-
 
|Pour listes, tableaux, chaines, tuples
 
  
<syntaxhighlight lang="Python" inline>len(s)</syntaxhighlight>  
+
<syntaxhighlight lang="Python" inline>len(s)</syntaxhighlight> renvoie le '''nombre d'éléments''' de s  
|Longueur de s  
 
 
|rowspan="3"| <pre>  
 
|rowspan="3"| <pre>  
 
>>> s=[1,2,3,4,5]
 
>>> s=[1,2,3,4,5]

Version du 19 août 2019 à 15:36

Un objet itérable est une variable contenant plusieurs autres variables que l’on peut parcourir de façon séquentielle à l'aide d'une boucle, par exemple : for x in objet_iterable ou x prendra successivement la valeur de chaque élément de l'objet itérable.

Les objets itérables que l’on rencontrera le plus souvent sont :

  • Les chaînes de caractères (type str)
  • Les tuples (type tuple)
  • Les listes (type list)
  • Les tableaux (type ndarray)

Instructions communes aux objets de types séquentiels

Initialisation

Initialisation d'une liste, d'un tableau, d'un tuple, d'une chaine avec valeur1,valeur2,... Listes :

s=[valeur1,valeur2,...]

Tableaux (nécessite le module numpy):

s=numpy.array([valeur1,valeur2,...])

Tuples :

s=(valeur1,valeur2,...)

Chaines de caractères :

s='abcdef'

Exemples :

>>>liste=[1,2,3]  
>>>liste
[1,2,3]
>>>tableau=numpy.array([1,2,3])
>>>tableau
array([1, 2, 3])
>>>tuple=(1,2,3)
>>>tuple
(1,2,3)
>>>chaine='abcdef'
>>>chaine
'abcdef'

Assignation

Pour listes et tableaux :

s[i]=valeur1 assigne la valeur valeur1 à l'élément i de s.

Impossible pour les chaines et tupples. Voir ...


Exemple :

>>>s=[1,2,3]
>>>s[0]
1
>>>s[2]
3
>>>s[0]=2
>>>s
[2,2,3]
>>>s[-1]
3

Accès aux éléments

Accès à un élément unique

Pour listes, tableaux, chaines, tuples

s[i] revoie l'élément d'indice i de s.

s[-i] revoie l'élément d'indice i de s en partant de la fin.

s[-1] revoie le dernier élément de s

Exemples :

 
>>> s=[1,2,3,4,5]
>>> s[2]
3
>>>s[-1]
5

Accès à des élément multiples : slicing

s[i:j:k] renvoie les éléments de i inclus à j exclu de s avec un pas de k.

Exemples :

 
>>> s=[1,2,3,4,5]
>>> s[2:4]
[3, 4]
>>> s[1:4:2]
[2, 4]

Taille de l'objet

Pour listes, tableaux, chaines, tuples

len(s) renvoie le nombre d'éléments de s

|rowspan="3"|

 
>>> s=[1,2,3,4,5]
>>> len(s)
5
>>> sum(s)
15
>>> max(s), min(s)
(5, 1)

|- |Pour listes, tableaux, tuples

sum(s) | Somme des éléments de s pour une séquence de nombres |- |Pour listes, tableaux, tuples, chaines

max(s) et min(s) | maximum et minimun des éléments de s pour une séquence d'éléments ordonnables |- |Pour listes, tableaux, chaines, tuples

x in s et

x not in s |True si x est dans s, False sinon

et inversement

|

 
>>>s=[1,2,3,5,6]
>>> 1 in s
True
>>> 6 in s
False
>>> 6 not in s
True

|- |Pour listes, tableaux, chaines, tuples

s+t

Pour les listes

s.extend(t) | Concaténation de s et t

|

>>> s=[1,2,3]
>>> t=[3,4,5]
>>> s+t
[1, 2, 3, 3, 4, 5]
>>> s.extend(t)  #uniquement pour les listes
>>> s
[1, 2, 3, 3, 4, 5]

|- |Pour listes, tableaux, chaines, tuples

s*n | Concaténation de n copies de s

|

>>> s=[1,2,3]
>>> s*2
[1, 2, 3, 1, 2, 3]

|- |Pour listes, tableaux, chaines, tuples

s.index(x) | Indice de la première occurrence de x dans s

|

>>> s=[1,2,3]
>>> s.index(3)
2
>>> s.index(1)
0
>>> s='abc'
>>> s.index('b')
1

|- |Pour listes, chaines, tuples

s.count(x) | Nombre d'occurrences de x dans s

|

>>> s=[1,2,3,3,4,5]
>>> s.count(2)
1
>>> s.count(3)
2

|- |Pour listes

s.append(x)

Pour les tableaux

numpy.append(s,x)

| Ajoute x dans s à la dernière position

|

>>> s=[1,2,3]
>>> s.append(4)
4
>>> s.count(3)
2

|- |Pour les listes

s.insert(k, x)

Pour les tableaux

numpy.insert(s,k,x) | Ajoute x dans s à la position k

|

>>> s=[1,2,3]
>>> s.insert(2,4)
>>> s
[1, 2, 4, 3]

|- |Pour les listes

del s[k]

ou s.remove(x)

Pour les tableaux

numpy.delete(s,k) | Supprime le premier élément x dans s ;

Ou supprime l'élément d'indice k dans s

|

>>> s=[1,2,3,4,5]  #liste
>>> del s[1]
>>> s
[1, 3, 4, 5]
>>> s.remove(4)
>>>s
[1, 3, 5]
>>> s=numpy.array([1,2,3,4])  #tableau
>>> numpy.delete(s,0)
array([2, 3, 4])

|}

Appliquer une fonction à un objet itérable

La fonction la plus appropriée est a priori for x in objet_iterable ou x prendra successivement la valeur de chaque élément de l'objet itérable.

1 def f(x) :
2     return x**2+x -1
3 
4 liste =[1,2,3,4,5]
5 liste2 =[f(x) for x in liste ] # on applique f aux elements de liste
6 print ( liste2 )

Revoie :

[1.0 , 1.6931471805599454 , 2.09861228866811 , 2.386294361119891 , 2.6094379124341005]

On peut également mettre une condition if (listes en compréhension)

1 def f(x) :
2     return math.log (x)+1
3 liste =[ -1 ,0 ,1 ,2 ,3 ,4 ,5]
4 liste2 =[f(x) for x in liste if x > 0] # on applique f aux elements qui sont > 0
5 print ( liste2 )

Revoie :

[1.0 , 1.6931471805599454 , 2.09861228866811 , 2.386294361119891 , 2.6094379124341005]

Autres pages de la catégorie "Informatique"

Pages relatives à l'informatique en CPGE scientifiques.

Bases du langage Python

Algorithmes et méthodes numériques‎