Les séquences
Une séquence est une collection d'éléments ordonnés.
str: chaines de caractères, sont des séquences immuables de chaines d'un seul caractèrelist: listes, sont des séquences d'objetstuple: n-uplets, sont des séquences immuables d'objets
Création
Créer une chaine de caractères
my_string = ''
my_string = ""
my_string = str()
king = "Arthur"
Créer une liste
my_list = []
my_list = list()
camelot = ['Arthur', 'Merlin', 'Lancelot', 'Robin', 'Bohort', 'Perceval', 'Karradoc']
Créer un n-uplet (tuple)
my_tuple = tuple() # tuple vide
wizards = 'Merlin',
tavern = 'Perceval', 'Karradoc',
Taille
Avec la fonction len(seq)
>>> len(king)
6
>>> len(camelot)
7
>>> len(wizards)
1
Accès à un élément
Par indexation (subscript)
>>> king[2]
't'
>>> camelot[1]
'Merlin'
>>> tavern[0]
'Perceval'
>>> king[-1]
'r'
>>> camelot[-2]
'Perceval'
>>> tavern[-1]
'Karradoc'
L'absence de l'indice lève une IndexError.
Test élément dans séquence
Avec le mot-clef in
>>> 't' in king
True
>>> 'Mordred' in camelot
False
>>> 'Tavernier' in tavern
False
Unpacking
Fonctionne avec toute séquence
>>> quest = ['Rabbit of Caerbannog', 'cave', 'Location of the Holly Grail']
>>> opponent_name, location, reward = quest
>>> opponent_name
'Rabbit of Caerbannog'
>>> location
'cave'
>>> reward
'Location of the Holly Grail'
Slicing
Structures : seq[start:stop] ou seq[start:stop:step]
>>> king[2:5]
'thu'
>>> camelot[2:6]
['Lancelot', 'Robin', 'Bohort', 'Perceval']
Si start et/ou stop est omis, le slice ira à l'extrémité.
>>> camelot[:2]
['Arthur', 'Merlin']
>>> camelot[3:]
['Robin', 'Bohort', 'Perceval', 'Karradoc']
>>> camelot[-2:]
['Perceval', 'Karradoc']
>>> camelot[::2]
['Arthur', 'Lancelot', 'Bohort', 'Karradoc']