Une liste est un ensemble d’éléments, d’objets se retrouvant entre crochets. ces objets sont mutables, cad qu’on peut les changer à contrario des caractères d’une chaîne de caractères qui sont dits immutables.
Création d’une liste vide :

>>> liste1 = [ ]
>>> type (liste1)
<class 'list'>
>>> 

En programmation orientée objet, tout est objet. Une liste peut contenir tous les objets :

>>> liste2 = [1,2,"hello",["a","b","c"],3.4]
>>> liste2
[1, 2, 'hello', ['a', 'b', 'c'], 3.4]
>>> 

Elle peut aussi tout simplement contenir uniquement des nombres, des chaînes de caractères, …
Le parcours de liste se fait par indices comme la chaîne de carctères :

>>> liste2[0]
1
>>> liste2[2]
'hello'
>>> liste2[3]
['a', 'b', 'c']
>>> liste2[-1]
3.4
>>> len (liste2) # longueur de la liste
5
>>> liste2[3][0]
'a'
>>>

liste2[0] se lit “(Quelle est) la valeur se trouvant à l’indice 0 de la liste2 (?)”
liste2[3][0] se lit “la valeurse trouvant à l’emplacement 0 de la liste se trouvant à l’emplacement 3 de la liste2.

>>> liste2.index ("hello")
2
>>>

liste2.index (“hello”) se lit “l’index de la valeur hello dans la liste2”
Attention, cette méthode permet de signaler l’index de la première valeur “hello” de la liste. S’il y en avait deux, Python s’arrête à la première trouvée !

Jonglons avec les listes et le parcours par indices :

>>> chaineListe = ["a","b","c"]
>>> numListe = [1,2,3]
>>> mixteListe = [4,5,"six",[7,8]]
>>> listedeListes = [chaineListe, numListe, mixteListe]
>>> listedeListes
[['a', 'b', 'c'], [1, 2, 3], [4, 5, 'six', [7, 8]]]
>>> listedeListes[2][3][1]
8
>>> 

Détail de la manœuvre :

>>> listedeListes[2]
[4, 5, 'six', [7, 8]]
>>> listedeListes[2][3]
[7, 8]
>>> listedeListes[2][3][1]
8
>>>