Si vous écrivez le code au format «valeur arbitraire dans la liste cible», vous pouvez obtenir la valeur booléenne indiquant si la valeur est incluse dans la liste.
Par exemple, le code suivant obtient la valeur booléenne indiquant si la valeur 200 est incluse dans la liste (True est renvoyé car il est inclus).
list_value = [100, 200, 300]
is_in = 200 in list_value
print(is_in)
Contenu de sortie du résultat de l'exécution du code:
True
Si vous spécifiez une valeur (500) qui n'est pas incluse dans la liste, comme dans le code ci-dessous, False sera renvoyé.
list_value = [100, 200, 300]
is_in = 500 in list_value
print(is_in)
Contenu de sortie du résultat de l'exécution du code:
False
Utilisez la méthode append pour ajouter une valeur spécifique à la fin de la liste. Spécifiez l'élément que vous souhaitez ajouter au premier argument.
Au lieu de renvoyer une copie de la liste avec l'élément ajouté comme valeur de retour, la liste elle-même qui a exécuté la méthode est mise à jour (notez que la description de la valeur de retour n'est pas définie).
En effet, si vous faites une copie de la liste chaque fois que vous ajoutez un élément, la charge de traitement augmentera si la liste est grande, vous ne faites donc pas une copie comme celle-ci.
list_value = ['Chat', 'chien']
list_value.append('lapin')
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'chien', 'lapin']
La méthode append a ajouté l'élément à la fin de la liste, mais la méthode insert vous permet d'ajouter l'élément n'importe où dans la liste.
Dans le premier argument, spécifiez l'index de la position à ajouter, et dans le second argument, spécifiez l'élément que vous souhaitez ajouter.
L'index commence à 0, donc si vous souhaitez ajouter un élément au début (en premier), spécifiez 0 comme premier argument.
Exemple pour ajouter le mot lapin à la liste au début (index 0):
list_value = ['Chat', 'chien']
list_value.insert(0, 'lapin')
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['lapin', 'Chat', 'chien']
Exemple pour ajouter le mot lapin à la liste dans la seconde (index 1):
list_value = ['Chat', 'chien']
list_value.insert(1, 'lapin')
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'lapin', 'chien']
Si vous essayez d'ajouter un élément au-delà de la plage de la liste, il sera ajouté à la fin. Par exemple, si vous essayez d'ajouter un élément à la 4ème (indice 3) ou 5ème (index 4) position pour une liste avec seulement 2 éléments, l'élément n'existe pas à la 3ème position, donc la 3ème position L'ajout est exécuté à (index 2).
list_value = ['Chat', 'chien']
list_value.insert(3, 'lapin')
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'chien', 'lapin']
Utilisez la méthode extend lorsque vous souhaitez combiner deux listes en une seule. étendre est un mot qui signifie «étendre». Est-ce quelque chose comme ajouter la valeur d'une autre liste à une liste pour l'agrandir (l'agrandir)?
Exécutez la méthode avec la liste que vous souhaitez ajouter et spécifiez la liste contenant les valeurs que vous souhaitez ajouter comme premier argument.
La valeur ajoutée sera ajoutée après la valeur de la liste à laquelle elle est ajoutée.
left_list = ['Chat', 'chien']
right_list = ['Loup', 'lapin']
left_list.extend(right_list)
print(left_list)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'chien', 'Loup', 'lapin']
Vous pouvez spécifier des taples autres que la liste comme arguments sans aucun problème.
left_list = ['Chat', 'chien']
right_tuple = ('Loup', 'lapin')
left_list.extend(right_tuple)
print(left_list)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'chien', 'Loup', 'lapin']
La méthode pop récupère la valeur à une position d'index particulière dans la liste. Pop a le sens de «pop out» et est une image d'un élément spécifique de la liste qui apparaît.
La valeur de retour de la méthode est la valeur de l'élément cible et cette valeur disparaît de la liste après l'exécution.
Dans le premier argument, spécifiez la position d'index de l'élément cible. Si vous spécifiez 0 pour l'index, le premier élément est extrait et si vous spécifiez 1 pour l'index, le deuxième élément est extrait.
Dans l'exemple ci-dessous, la valeur du deuxième (index 1) «chien» est retirée de la liste qui stocke les trois valeurs des lettres «chat», «chien» et «lapin».
Notez que la valeur extraite est "" "et que la liste suivante n'inclut pas la valeur" "de" journal.
list_value = ['Chat', 'chien', 'lapin']
popped_value = list_value.pop(1)
print('popped_value:', popped_value)
print('list_value:', list_value)
Contenu de sortie du résultat de l'exécution du code:
popped_value:chien
list_value: ['Chat', 'lapin']
La méthode remove supprime l'élément avec une valeur spécifique dans la liste. Comme pour pop, le contenu de la liste sera réduit, mais contrairement à pop, il sera supprimé en spécifiant une valeur au lieu d'un index. Par exemple, si vous souhaitez supprimer la valeur "dog" de la liste, spécifiez "" "comme premier argument.
list_value = ['Chat', 'chien', 'lapin']
list_value.remove('chien')
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'lapin']
Si la liste contient la valeur de l'argument spécifié pour la suppression, la première valeur est supprimée.
Dans l'exemple ci-dessous, la méthode remove est exécutée avec la valeur "" "dans la liste. Vous pouvez voir que la deuxième valeur, «chien», reste dans la liste des résultats.
list_value = ['Chat', 'chien', 'lapin', 'chien']
list_value.remove('chien')
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'lapin', 'chien']
Vous pouvez supprimer un élément spécifique de la liste avec la méthode remove ou pop, mais vous pouvez également le supprimer en écrivant del target list [index à supprimer]
.
Par exemple, si vous voulez supprimer la deuxième valeur (index 1) d'une variable dans la liste list_value
, écrivez del list_value [1]
.
Cette méthode convient lorsqu'il n'est pas nécessaire de récupérer la valeur comme pop (la valeur récupérée n'est pas utilisée par la suite) et que vous souhaitez supprimer en spécifiant l'index au lieu de la valeur.
list_value = ['Chat', 'chien', 'lapin']
del list_value[1]
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'lapin']
Vous pouvez vider la liste en utilisant la méthode clear.
Si vous essayez d'exécuter la méthode clear sur la liste qui stocke les trois valeurs comme indiqué ci-dessous, vous pouvez voir que le contenu de la liste est vide ([]
).
list_value = ['Chat', 'chien', 'lapin']
list_value.clear()
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
[]
Si vous voulez simplement faire de la variable une liste vide, vous pouvez le faire simplement en définissant une nouvelle liste vide sur la variable comme indiqué ci-dessous.
list_value = ['Chat', 'chien', 'lapin']
list_value = []
print(list_value)
Contenu de sortie du résultat de l'exécution du code:
[]
Alors, lequel dois-je utiliser? À cet égard, les détails sont différents lorsqu'ils sont comparés strictement, mais peu importe celui que vous utilisez au début.
Je vais décrire les différences ci-dessous, mais peu importe si vous sautez cette explication au début ou si vous la lisez et la mettez dans le coin de votre tête.
Par souci d'explication, comparons un conteneur appelé liste à un conteneur en carton.
La méthode claire se comporte comme faire un carton vide en retirant tout le contenu tout en utilisant le même carton.
D'autre part, la correspondance de la définition d'une liste vide comme variable est un contrôle comme la préparation d'un autre carton vide (c'est-à-dire que deux cartons sont utilisés).
Le code fait également une différence dans certains cas. Nous avons préparé deux fonctions qui acceptent les listes comme arguments (clear_list et assign_blank_list) comme indiqué ci-dessous, et reflètent respectivement les listes claires et vides dans les variables des fonctions.
Comme mentionné ci-dessus, la méthode clear (fonction clear_list) utilise le même carton pour vider le contenu, donc la liste (list_value_1) est vide après l'exécution de la fonction.
En revanche, si vous définissez une autre liste vide comme variable dans la fonction (assign_blank_list), un deuxième carton est affecté en tant que variable locale dans la fonction. Par conséquent, les variables en dehors de la fonction (list_value_2 comme premier carton) et les variables de la liste à l'intérieur de la fonction (list_value comme deuxième carton) sont ** valeurs différentes **.
Le contenu de sortie après l'exécution de la fonction de list_value_2 n'est pas non plus vide et la valeur d'origine est conservée.
def clear_list(list_value):
list_value.clear()
def assign_blank_list(list_value):
list_value = []
list_value_1 = ['Chat', 'chien', 'lapin']
clear_list(list_value=list_value_1)
print('list_value_1:', list_value_1)
list_value_2 = ['Chat', 'chien', 'lapin']
assign_blank_list(list_value=list_value_2)
print('list_value_2:', list_value_2)
Contenu de sortie du résultat de l'exécution du code:
list_value_1: []
list_value_2: ['Chat', 'chien', 'lapin']
Strictement parlant comme ça, le comportement est légèrement différent pour chacun. Cependant, dans la plupart des cas, il n'y a aucun problème avec les performances, y compris les performances, vous n'avez donc pas à en être conscient au début.
Utilisez la méthode de copie pour copier la liste entière. L'appel de cette méthode définit une nouvelle liste de valeurs de retour.
Dans le code ci-dessous, vous pouvez voir que le même contenu que la liste source de la copie est sorti dans la liste copiée.
list_value = ['Chat', 'chien']
copied_list_value = list_value.copy()
print(copied_list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'chien']
Si vous souhaitez simplement définir le contenu de la même liste dans une autre variable, vous pouvez le faire simplement en spécifiant le symbole égal comme indiqué ci-dessous (le résultat de sortie sera le même que précédemment).
list_value = ['Chat', 'chien']
copied_list_value = list_value
print(copied_list_value)
Contenu de sortie du résultat de l'exécution du code:
['Chat', 'chien']
Cependant, bien qu'il soit similaire à celui décrit dans la section méthode claire, il se comporte également différemment.
Si vous comparez le conteneur de la liste avec une boîte en carton comme dans le cas de la méthode claire, la méthode de copie se comporte comme la copie du carton avec le contenu du carton.
Par contre, lors de la définition de la valeur de la liste sur une autre variable en utilisant le symbole égal, on dit qu'un seul carton utilise le même et ** l'appelle différemment ** (nomme plusieurs variables). Ce sera le comportement.
Ce comportement fait une différence notable par rapport à la méthode clear (vous devez généralement en être conscient lors de l'écriture de code).
Vérifions la différence dans le code.
Le premier est celui qui utilise la méthode de copie. Puisqu'il s'agit d'un processus de copie de tout le contenu de la boîte en carton, même si le contenu de la liste après la copie est mis à jour, le contenu de la liste avant la copie ne changera pas car la boîte elle-même est différente. Seule la liste copiée sera mise à jour.
list_value = ['Chat', 'chien']
copied_list_value = list_value.copy()
copied_list_value[0] = 'lapin'
print('Liste originale:', list_value)
print('Liste après copie:', copied_list_value)
Contenu de sortie du résultat de l'exécution du code:
Liste originale: ['Chat', 'chien']
Liste après copie: ['lapin', 'chien']
Par contre, si vous utilisez le symbole égal et omettez la description de la méthode de copie et allouez une autre liste de noms de variables, la même boîte n'est référencée que par la différence de nom (nom), donc après copie Si vous mettez à jour la valeur de la variable dans la liste de, la valeur de la liste avant la copie sera modifiée en même temps.
list_value = ['Chat', 'chien']
copied_list_value = list_value
copied_list_value[0] = 'lapin'
print('Liste originale:', list_value)
print('Liste après copie:', copied_list_value)
Contenu de sortie du résultat de l'exécution du code:
Liste originale: ['lapin', 'chien']
Liste après copie: ['lapin', 'chien']
Chacune de ces méthodes de copie est respectivement appelée copie superficielle et copie profonde.
La copie superficielle correspond à celle qui ne change que le nom (cas qui ne passe pas par la méthode de copie). Shallow ne copie pas le contenu de la boîte, car cela signifie «peu profond».
En revanche, la copie profonde correspond à la méthode de copie via la méthode de copie etc., et elle se comporte comme la copie du contenu de la boîte au sens de «deep» en profondeur.
Cette différence entre copie superficielle et copie profonde peut être erronée par inadvertance lors de l'écriture d'un programme. Par exemple, des cas tels que «la valeur d'origine était censée être mise à jour mais pas mise à jour» et inversement «la valeur d'origine a été modifiée à un moment inattendu» sont applicables. ..
Pourquoi ne sont-ils pas tous des copies profondes? N'est-ce pas déroutant? Cependant, cela prête certainement à confusion et tend à induire des erreurs. Cependant, si une copie profonde est exécutée à chaque fois, ce sera un gros fardeau pour l'ordinateur personnel, etc. en fonction de la taille du contenu tel que la liste.
Par exemple, une liste peut stocker des millions ou des dizaines de millions de valeurs. Cela peut être très fastidieux si des copies complètes sont effectuées fréquemment. Par conséquent, elle est généralement traitée comme une copie superficielle, et seulement lorsqu'une copie complète est requise, la méthode de copie, etc. est explicitement appelée pour faire une copie complète.
Je comprends la copie superficielle et la copie profonde en tant que concept, et même si je continue à programmer pendant longtemps, je fais rarement des erreurs, alors soyez prudent.
La méthode de comptage calcule le nombre de valeurs spécifiques contenues dans la liste. Spécifiez la valeur cible dans le premier argument.
Par exemple, si vous spécifiez «chat» dans le premier argument, le nombre de valeurs «chat» dans la liste sera renvoyé.
list_value = ['Chat', 'chien', 'Chat', 'Chat', 'chien']
print(list_value.count('Chat'))
Contenu de sortie du résultat de l'exécution du code:
3
Utilisez la méthode index pour savoir à quel index se trouve un élément particulier dans la liste.
Spécifiez l'élément que vous souhaitez rechercher dans le premier argument et l'index de résultat sera défini dans la valeur de retour.
La valeur d'index commence à 0 comme n'importe quelle autre, elle est donc définie sur 0 index pour le premier, 1 index pour le deuxième, 2 index pour le troisième, et ainsi de suite.
list_value = ['chien', 'lapin', 'Chat', 'chien']
print('Index avec la valeur de chat:', list_value.index('Chat'))
Contenu de sortie du résultat de l'exécution du code:
Index avec la valeur de chat: 2
S'il existe plusieurs valeurs cibles, le premier index est renvoyé.
list_value = ['chien', 'lapin', 'Chat', 'chien', 'Chat']
print('Index avec la valeur de chat:', list_value.index('Chat'))
Contenu de sortie du résultat de l'exécution du code:
Index avec la valeur de chat: 2
Une erreur se produira si une valeur non incluse dans la liste est spécifiée comme argument.
ValueError: 'Chat' is not in list
J'obtiens un message d'erreur comme "La valeur" chat "n'est pas dans la liste".