TP - Programmation Python pour la BIOInfo

Notions Python

Accès à un élément et longueur de chaîne

Il est possible d'accéder au ième élément d'une chaîne de caractère : chaque caractère est numéroté en commençant par 0Exemple :

>>> chaine = 'ceci est un exemple'

>>> chaine[3]'i'

Pour connaître la longueur d'une chaîne il est possible d'utiliser la fonction interne Python : len()

Exemple :

>>> len(chaine)19

Types de données

Une liste est une collection ordonnée d'éléments. En Python3 les éléments peuvent être de type différent (ex : int, float, str) à l'interieur d'une même collection.

Les éléments sont accessibles en indiquant leur numéro. La numérotation commence à 0.

>>> liste = [1,2,'e']

>>> liste[0]

1

>>> liste[2]

'e'

>>> liste[3]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: list index out of range

>>> len(liste)

3

>>> liste[2]=3

>>> liste

[1, 2, 3]

Structure de répétition

En Python, la structure algorithmique de répétition pour... faire.. s'écrit de la manière suivante :

for <variable> in <list> :

  instruction 1 ;

  instruction 2 ;

  ...

Le bloc d'instructions sera exécuté autant de fois qu'il y a d'éléments dans la liste. La variable prendra successivement comme valeur les éléments de la liste.

>>> for i in [1, 2, 3, 4] :

... print(i**2)

...

1

4

9

16

>>> for i in ['un', 'petit', 'exemple'] :

... print(i,len(i))

...

un 2

petit 5

exemple 7

Il est donc possible de travailler sur des séries numériques, mais également n'importe quel contenu d'une liste.

Fonction range()

La fonction range() permet de créer une énumération. range(d,f,i) crée une liste allant de d jusqu'à f-1 avec un incrément de i : [d, d+i,d+2*i,...]. Le dernier élément est le dernier nombre tel que d+n*i<f-1

Si l'incrément i est omis, il est utilisé par défaut un incrément de 1.

Utilisée avec un seul élément, range(n) est équivalent à range(0,n) soit [0,1,2...., n-1].

>>> for i in range(1,3) :

... print(i,2*i)

...

1 2

2 4

>>> for i in range(3) :

... print(i,2*i)

...

0 0

1 2

2 4

• En Python3, en intéractif, range(n,m) n'est pas directement évalué, il faut utiliser list() pour récupérer les valeurs.

Ex :

>>> range(3)

range(0,3)

>>> list(range(3))

[0,1,2]

range(0) donne la liste vide

Ex :

>>> range(0)

[]

Si dans range(n,m) m>n alors le resultat est une liste vide :

Ex :

>>> range(1,0)[]

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)