[PYTHON] Extraire l'index de la set list d'origine correspondant à la liste des sous-ensembles.

Préparez deux listes (A, B). Voici $ B \ sous-ensemble A $. Je veux récupérer l'index de A correspondant au sous-ensemble B.

En d'autres termes

A = [1\Liste des entiers dans sim 100]\\
B = [1\Même liste de sim 100]\\

\Longrightarrow index = [1, 3, 5, 7..., 99]

Obtenez un index comme celui-ci.

la mise en oeuvre

A = list(range(1, 101))

B = list(range(2, 102, 2))

Numpy a une fonction qui renvoie True pour l'élément de A qui correspond au sous-ensemble B.

import numpy as np

isin = np.isin(A, B)
print(isin)
#array([False,  True, False,  True, False,  True, False,  True, False...
print(len(isin) == len(A))
#True

Il y avait aussi une fonction dans Numpy qui renvoyait l'index de l'élément True.

index = list(np.where(isin))[0]
print(index)
#array([ 1,  3,  5,  7,  9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33...

J'ai pu le mettre en œuvre.

Entraine toi

Préparez A à partir d'un nombre aléatoire et B obtenu au hasard.


A = random.sample(range(1, 100), k=5)
B = random.sample(A, 3)

print(A)
#[37, 24, 76, 55, 52]
print(B)
#[55, 76, 37]

index = list(np.where(np.isin(A, B)))[0]
print(index)
#array([0, 2, 3])

J'ai pu l'obtenir au hasard.

à partir de maintenant

J'ai pu obtenir l'index, mais il a été trié. En d'autres termes, l'indice considérant l'ordre de B ne peut pas être obtenu car le premier élément de B est l'élément numérique de A. Vous pouvez vérifier chacun d'eux avec l'instruction for, mais dans le cas de grandes longueurs A et B, la quantité de calcul devient très importante. Vous devrez donc penser à une autre manière.

Recommended Posts

Extraire l'index de la set list d'origine correspondant à la liste des sous-ensembles.
J'ai essayé d'obtenir l'index de la liste en utilisant la fonction énumérer
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
J'ai mesuré 6 méthodes pour obtenir l'indice de la valeur maximale (valeur minimale) de la liste
Convertir un objet de tranche en liste de numéros d'index
[Blender] Comment définir dynamiquement les sélections EnumProperty
Définissez la colonne spécifiée de QTableWidget sur ReadOnly StyledItemDelegate
Comment extraire les conditions (acquérir tous les éléments du Groupe qui remplissent les conditions) pour Groupe par Groupe
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Essayez d'obtenir la liste des fonctions du paquet Python> os
Essayez d'extraire les mots-clés populaires dans COTOHA
Comment définir la date au format ISO8601 étendu sur l'index Dataframe
Extraire la valeur de dict ou list sous forme de chaîne de caractères
L'histoire de la définition de la clé privée à 600 avec chmod
[Python3] Liste des sites auxquels j'ai fait référence lorsque j'ai lancé Python
Comment connecter le contenu de la liste dans une chaîne de caractères
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
Essayez d'extraire les caractéristiques des données de capteur avec CNN
Extraire la liste des services dans Azure
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
Définit la date de la dernière modification du fichier enfant sur la date de modification du répertoire parent
Trouvez tous les modèles pour extraire un nombre spécifique de l'ensemble
Comment configurer l'environnement de développement d'ev3dev [version Windows]
[python] Une note que j'ai commencé à comprendre le comportement de matplotlib.pyplot
[Pour les débutants] Je veux obtenir l'index d'un élément qui satisfait une certaine expression conditionnelle
[Python] Trois méthodes pour comparer la liste des tableaux à une dimension et la liste des tableaux à deux dimensions et extraire uniquement les valeurs correspondantes [json]
À propos de la liste de base des bases de Python
Supplément à l'explication de vscode
Préparation du chargement du jeu de données d'origine
Trier la liste qui contient le dict
Déploiement Heroku de la première application Django à laquelle les débutants sont accros
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Python> sys.path> Liste de chaînes indiquant le chemin pour rechercher des modules
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
Je souhaite trier une liste dans l'ordre des autres listes
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
[Python] Comment utiliser la fonction enumerate (extraire le numéro d'index et l'élément)
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
Comment créer un wrapper qui préserve la signature de la fonction à envelopper
Pour accélérer python, résumez la quantité de calcul du type de collection (liste / tuple / dictionnaire / ensemble) pour chaque objectif.