Résumé des méthodes intégrées, etc. de la liste Python

Avant

Vérifiez s'il est dans une liste ou un dictionnaire: dans

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

Ajouter de la valeur à la fin de la liste: méthode append

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']

Ajouter un élément à une position spécifique: méthode d'insertion

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']

Ajouter le contenu d'une autre liste à la liste: méthode extend

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']

Extraire les éléments de la liste: méthode pop

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']

Supprimer l'élément qui vous intéresse de la liste: méthode remove

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']

Utilisez le mot-clé del pour supprimer un élément de la liste

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']

Liste vide: méthode claire

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.

Liste de copie: méthode de copie

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.

Vérifiez le nombre d'occurrences d'un élément dans la liste: méthode de comptage

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

Découvrez à quel index se trouve l'élément cible: méthode d'index

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".

Site de référence / résumé de la littérature

Recommended Posts

Résumé des méthodes intégrées, etc. de la liste Python
Résumé des opérations de liste Python3
Comment obtenir une liste d'exceptions intégrées pour python
Résumé de diverses instructions for en Python
Résumé de l'utilisation de la liste Python
Liste des modules python
Liste de filtres en Python
La chose semblable à une recherche de liste en Python
Résumé des arguments Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Résumé de la façon d'importer des fichiers dans Python 3
Liste des fonctions et méthodes intégrées fréquemment utilisées
Copiez la liste en Python
Résumé de l'utilisation de MNIST avec Python
Résumé des opérations Excel utilisant OpenPyXL en Python
Résumé des outils nécessaires pour analyser les données en Python
résumé lié à l'opération de fichier python
Nouveautés de Python 3.10 (Résumé)
Méthodes d'objet chaîne en Python
Résumé du tri Python (liste, type de dictionnaire, série, DataFrame)
[python] Récupère la liste des classes définies dans le module
[Python] Manipulation des éléments dans la liste (tableau) [Ajouter / Supprimer]
Liste des nœuds dans les diagrammes
Jugement d'équivalence d'objet en Python
Récapitulatif des méthodes Pandas utilisées lors de l'extraction de données [Python]
Liste du code Python utilisé dans l'analyse de Big Data
Méthodes disponibles dans la liste
Python: obtenir une liste de méthodes pour un objet
Résumé de la détection de visage en Python
Regrouper par éléments consécutifs d'une liste en Python
Appeler dynamiquement des méthodes en Python
Implémentation du tri rapide en Python
Nouveautés de Python 3.9 (Résumé)
Obtenir des éléments de liste en Python
Récapitulatif du traitement de la date en Python (datetime et dateutil)
Résumé des méthodes d'analyse de données statistiques utilisant Python qui peuvent être utilisées en entreprise
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
Résumé de base des opérations de données dans Python Pandas - Deuxième moitié: agrégation de données
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Obtenez le nombre d'éléments spécifiques dans la liste python
J'ai mesuré différentes méthodes de communication inter-processus en multitraitement de python3
Décrypter une ligne de code en Python lambda, carte, liste
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
[Python] Liste des principales méthodes destructives pour les opérations de liste (ajout / suppression / tri)
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Extraire plusieurs doublons de liste en Python
Manipulation des pixels d'image en Python
Différence entre list () et [] en Python
[python] Gérer les fonctions dans une liste
Sortie de la liste du vendredi Premium 2017 en Python
Un bref résumé de la collection Python
Échappement automatique des paramètres MySQL en python
Gestion des fichiers JSON en Python
Implémentation du jeu de vie en Python
Affichage de la forme d'onde audio en Python
Résumé des différentes opérations dans Tensorflow
Définir dynamiquement des fonctions (méthodes) en Python
La loi des nombres en python
Implémentation du tri original en Python
Brouillage réversible d'entiers en Python
Supprimer plusieurs éléments dans la liste python