Ajouter une entrée utilisateur à une liste en Python #
Pour ajouter une entrée utilisateur à une liste en Python :
- Déclarez une variable qui stocke une liste vide.
- Utilisez un
range
pour itérer N fois. - À chaque itération, demandez à l’utilisateur de saisir des données.
append
la valeur à la liste.
shopping_list = []
list_length = 3
for idx in range(list_length):
item = input('Enter item to buy: ')
shopping_list.append(item)
print(shopping_list)
L’exemple de code demande à l’utilisateur d’entrer 3 fois et ajoute chaque valeur à la liste.
liste.
Le site
liste.append()
ajoute un élément à la fin de la liste.
L’exemple utilise la classe
classe range, mais vous
pouvez également utiliser une while
boucle si vous voulez vous assurer que la liste a une longueur d’au moins
d’au moins N éléments.
shopping_list = []
max_length = 3
while len(shopping_list) < max_length:
item = input('Enter item to buy: ')
shopping_list.append(item)
print(shopping_list)
Si la liste a une longueur inférieure à 3, nous continuons à demander à l’utilisateur de saisir des données.
Cette approche est particulièrement utile lorsque vous voulez vous assurer qu’il n’y a pas de doublons dans la liste.
shopping_list = []
max_length = 3
while len(shopping_list) < max_length:
item = input('Enter item to buy: ')
if item not in shopping_list:
shopping_list.append(item)
print(shopping_list)
Nous avons utilisé un if
pour vérifier si la valeur saisie par l’utilisateur n’est pas dans la liste avant de l’ajouter.
liste avant de l’ajouter.
L’opérateur
dans l’opérateur
teste l’appartenance. Par exemple, x in l
est évalué à True
si x
est un
membre de l
sinon il est évalué à False
.
x not in l
renvoie la négation de x in l
.
Une autre approche consiste à demander à l’utilisateur d’entrer plusieurs mots séparés par des espaces ou des virgules et de diviser la chaîne sur le séparateur.
user_input = ''
while user_input.count(' ') < 2:
user_input = input('Enter at least 3 space-separated shopping items: ')
shopping_list = user_input.split(' ')
print(shopping_list)
Notez que cette approche est un peu plus difficile à valider.
La méthode str.split()
divise la chaîne en une liste de sous-chaînes en utilisant un délimiteur.
La méthode prend les 2 paramètres suivants :
Nom | Description |
---|---|
séparateur | Divise la chaîne en sous-chaînes à chaque occurrence du séparateur. |
maxsplit | Au plus maxsplit fractionnements sont effectués (facultatif) |
Si le séparateur n’est pas trouvé dans la chaîne, une liste contenant seulement 1 élément est
retournée.