Comment supprimer les doublons d'une liste Python
Méthodes de déduplication de liste Python : 1. Boucle For pour implémenter la déduplication de liste, l'ordre d'origine reste inchangé après la déduplication ; 2. Déduplication de dérivation de liste, l'ordre d'origine reste inchangé après la déduplication ; 3. Conversion d'ensemble La fonction "set()" implémente la déduplication de liste.Le principe est que la duplication d'éléments dans le même ensemble n'est pas autorisée. 4. Créez un nouveau dictionnaire pour réaliser la déduplication de liste.Le principe est que les "clés" du dictionnaire ne peuvent pas être répétées. . Il y a des données en double dans la liste de suppression. Tant qu'il y a des duplications, supprimez-les toutes.
Le système d'exploitation de ce tutoriel : système windows10, Python version 3.11.2, ordinateur DELL G3.
Comment supprimer les doublons d'une liste Python :
1. Utilisez une boucle for pour supprimer les doublons d'une liste
Une fois que cette méthode a supprimé les doublons, l'ordre d'origine reste inchangé.
# for循环实现列表去重 list1 = ['a', 'b', 1, 3, 9, 9, 'a'] list2 = [] for l1 in list1: if l1 not in list2: list2.append(l1) print(list2)
Résultat : ['a', 'b', 1, 3, 9]
2. Utilisez la compréhension de liste pour supprimer les doublons
Après avoir supprimé les doublons avec cette méthode, l'ordre d'origine reste inchangé.
# 使用列表推导式去重 list1 = ['a', 'b', 1, 3, 9, 9, 'a'] res = [] [res.append(i) for i in list1 if i not in res] print(res)
Résultat : ['a', 'b', 1, 3, 9]
3. Utilisez la fonction de conversion d'ensemble set() pour réaliser la déduplication de liste
Principe : les éléments du même ensemble ne sont pas autorisés en double.
# set()列表去重 list1 = ['a', 'b', 1, 3, 9, 9, 'a'] list2 = list(set(list1)) print(list2)
Résultat : [1, 3, 9, 'b', 'a']
Problème : après avoir utilisé la fonction set() pour supprimer les doublons, ils seront automatiquement triés et l'ordre de la liste d'origine changera
La solution est de 2 types :
La première méthode, utilisez la méthode sort()
# # 第一种方法,sort() list1 = ['a', 'b', 1, 3, 9, 9, 'a'] list2 = list(set(list1)) list2.sort(key=list1.index) print(list2)
Résultat : ['a', 'b', 1, 3, 9]
Remarque : La méthode sort() n'a pas de valeur de retour, et les éléments de la liste sont triés Trier
Deuxième méthode, utilisez la fonction sorted()
# 第二种方法,sored() list1 = ['a', 'b', 1, 3, 9, 9, 'a'] list2 = sorted(list(set(list1)), key=list1.index) print(list2)
Résultat : ['a', 'b', 1, 3, 9]
Remarque : la fonction intégrée python sorted() renvoie un nouvelle liste, qui n'est pas correcte Apportez des modifications à la liste d'origine
4. Utilisez la nouvelle méthode du dictionnaire pour réaliser la déduplication de la liste
Principe : Les "clés" du dictionnaire ne peuvent pas être répétées
Après la déduplication à l'aide de ceci méthode, l’ordre initial reste inchangé.
# 使用新建字典实现列表去重 list1 = ['a', 'b', 1, 3, 9, 9, 'a'] dic = {} dic = dic.fromkeys(list1).keys() print(list(dic))
Résultat : ['a', 'b', 1, 3, 9]
5. Supprimez les données en double dans la liste
Les 4 méthodes de déduplication ci-dessus en conservent toutes une et suppriment les autres
La méthode suivante est pour n'en conserver aucun tant qu'il y a des doublons
# 删除存在重复的值,不保留 list1 = ['a', 'b', 1, 3, 9, 9, 'a'] list2 = [i for i in list1 if list1.count(i) == 1] print(list2)
Résultat : ['b', 1, 3]
Voici 5 méthodes ci-dessus pour dédoublonner les listes. Vous pouvez choisir la méthode correspondante en fonction de vos besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Installez PYODBC: utilisez la commande PiPInstallpyodbc pour installer la bibliothèque; 2. Connectez SQLServer: utilisez la chaîne de connexion contenant le pilote, le serveur, la base de données, l'UID / PWD ou TrustEd_Connection via la méthode pyoDBC.Connect () et prendre en charge l'authentification SQL ou l'authentification Windows respectivement; 3. Vérifiez le pilote installé: exécutez pyodbc.Drivers () et filtrez le nom du pilote contenant «SQLServer» pour vous assurer que le nom du pilote correct est utilisé tel que «ODBCDriver17 pour SQLServer»; 4. Paramètres clés de la chaîne de connexion

PythonCanBeoptimizedFormemory-Boundoperations AdreductoverHeadHroughGenerators, EfficientDatastructures et ManagingObjectliFetimes.first, useGeneratorsInSteadofListStoproceSlargedataseSeItematatime, EvitingLoadingEnteryToMeToMeMory.

ShutLil.rmtree () est une fonction de Python qui supprime récursivement l'intégralité de l'arborescence du répertoire. Il peut supprimer les dossiers spécifiés et tous les contenus. 1. Utilisation de base: utilisez ShutLil.rmtree (Path) pour supprimer le répertoire, et vous devez gérer FileLenotFoundError, PermissionError et autres exceptions. 2. Application pratique: vous pouvez effacer les dossiers contenant des sous-répertoires et des fichiers en un seul clic, tels que des données temporaires ou des répertoires mis en cache. 3. Remarques: L'opération de suppression n'est pas restaurée; FilenotFoundError est lancé lorsque le chemin n'existe pas; Il peut échouer en raison d'autorisations ou d'occupation des fichiers. 4. Paramètres facultatifs: les erreurs peuvent être ignorées par ignore_errors = true

Utilisez psycopg2.pool.simpleconnectionpool pour gérer efficacement les connexions de la base de données et éviter les frais généraux de performances causés par la création et la destruction de connexions fréquentes. 1. Lors de la création d'un pool de connexions, spécifiez le nombre minimum et maximum de connexions et de paramètres de connexion de base de données pour vous assurer que le pool de connexions est initialisé avec succès; 2. Obtenez la connexion via getConn () et utilisez putConn () pour renvoyer la connexion au pool après avoir exécuté l'opération de base de données. L'appel constamment conn.close () est interdit; 3. SimpleconnectionPool est en file et convient aux environnements multi-threads; 4. Il est recommandé d'implémenter un gestionnaire de contexte en combinaison avec le gestionnaire de contexte pour s'assurer que la connexion peut être renvoyée correctement lorsque des exceptions sont notées;

Iter () est utilisé pour obtenir l'objet Iterator, et Next () est utilisé pour obtenir l'élément suivant; 1. Utilisez Iterator () pour convertir des objets itérables tels que les listes en itérateurs; 2. Appelez Next () pour obtenir des éléments un par un et déclenchez l'exception de l'arrêt lorsque les éléments sont épuisés; 3. Utilisez Suivant (iterator, par défaut) pour éviter les exceptions; 4. Les itérateurs personnalisés doivent implémenter les méthodes __iter __ () et __Next __ () pour contrôler la logique d'itération; L'utilisation de valeurs par défaut est un moyen courant de parcourir la traversée et l'ensemble du mécanisme est concis et pratique.

L'introduction à l'arbitrage statistique L'arbitrage statistique est une méthode commerciale qui capture l'inadéquation des prix sur le marché financier basé sur des modèles mathématiques. Sa philosophie principale découle de la régression moyenne, c'est-à-dire que les prix des actifs peuvent s'écarter des tendances à long terme à court terme, mais reviendront éventuellement à leur moyenne historique. Les traders utilisent des méthodes statistiques pour analyser la corrélation entre les actifs et rechercher des portefeuilles qui changent généralement de manière synchrone. Lorsque la relation de prix de ces actifs est anormalement déviée, des opportunités d'arbitrage se présentent. Sur le marché des crypto-monnaies, l'arbitrage statistique est particulièrement répandu, principalement en raison de l'inefficacité et des fluctuations drastiques du marché lui-même. Contrairement aux marchés financiers traditionnels, les crypto-monnaies fonctionnent 24h / 24 et leurs prix sont très susceptibles de briser les nouvelles, les sentiments des médias sociaux et les améliorations technologiques. Cette fluctuation des prix constante crée fréquemment un biais de prix et fournit aux arbitrageurs un

Installer le pilote de base de données correspondant; 2. Utilisez Connect () pour se connecter à la base de données; 3. Créez un objet de curseur; 4. Utilisez EXECUTE () ou Execumany () pour exécuter SQL et utiliser une requête paramétrée pour empêcher l'injection; 5. Utilisez fetchall (), etc. pour obtenir des résultats; 6. commit () est requis après modification; 7. Enfin, fermez la connexion ou utilisez un gestionnaire de contexte pour le gérer automatiquement; Le processus complet garantit que les opérations SQL sont sûres et efficaces.

Pour créer un environnement virtuel Python, vous pouvez utiliser le module VENV. Les étapes sont: 1. Entrez le répertoire de projet pour exécuter l'environnement Python-Mvenvenv pour créer l'environnement; 2. Utilisez SourceEnv / Bin / Activer sur Mac / Linux et Env \ Scripts \ Activate sur Windows; 3. Utilisez le package d'installation PiPinstall, PipFreeze> exigence.txt pour exporter les dépendances; 4. Veillez à éviter de soumettre l'environnement virtuel à GIT et confirmez qu'il est dans le bon environnement pendant l'installation. Les environnements virtuels peuvent isoler les dépendances du projet pour prévenir les conflits, en particulier adaptés au développement multi-projets, et les éditeurs tels que PyCharm ou VScode sont également