Comparez la somme de chaque élément dans deux listes avec la valeur spécifiée en Python

introduction

Avez-vous déjà voulu comparer la somme de chaque élément avec la valeur que vous avez spécifiée lorsque vous aviez deux listes?   Par exemple

[-1, 3, 8, 2, 9, 5]   [4, 1, 2, 10, 5, 20]

Supposons que vous ayez deux listes.

À ce moment, il est examiné si une valeur spécifique peut être exprimée par la somme de deux éléments sélectionnés dans chaque liste.

Si une valeur particulière est 25 et que vous sélectionnez (-1, 4), le total est 3, ce qui est différent. Dans ce cas, seul (5, 20) est correct.   Une vidéo YouTube (voir URL ci-dessous) a montré comment résoudre ce problème. Cette fois, j'ai écrit la méthode en Python.

programme

J'ai programmé trois solutions à partir des méthodes introduites. Les valeurs à comparer sont ~~ 24, 25, 26 ~~ 23, 24, 25 (corrigé le 13 décembre 2019).

Le premier est de savoir comment ajouter tous les éléments ensemble.

Brute-force.py


#liste
A = [-1, 3, 8, 2, 9, 5]
B = [4, 1, 2, 10, 5, 20]

#Valeur que vous souhaitez comparer
target = 24

#Force brute
for i in A:
    for j in B:
        if target - 1 <= (i + j) <= target + 1:
            print(str(i) + "Quand" + str(j) + "Est une paire.")

La méthode suivante consiste à rechercher le contenu de la liste, puis à comparer.

linear.py


#liste
A = [-1, 3, 8, 2, 9, 5]
B = [4, 1, 2, 10, 5, 20]

#Valeur que vous souhaitez comparer
target = 24

#Sélection linéaire
for i, v in enumerate(B):
    if target - 1 - v in A:
        index = A.index(target - 1 -v)
        print(str(A[index]) + "Quand" + str(v) + "Est une paire.")
    if target - v in A:
        index = A.index(target - v)
        print(str(A[index]) + "Quand" + str(v) + "Est une paire.")
    if target + 1 - v in A:
        index = A.index(target + 1 - v)
        print(str(A[index]) + "Quand" + str(v) + "Est une paire.")

Enfin, comment créer une matrice. Les valeurs à comparer sont 12, 13, 14.

Matrix.py



#Création de matrice
import numpy as np

#élément
A = np.array([7, 4, 1, 10])
B = np.array([4, 5, 8, 7])

#Trier les éléments par ordre croissant
A.sort()
B.sort()

target = 13

#Tableau l'ajout de tous les éléments
array = np.array([i+j for i in A for j in B]).reshape((len(A), len(B)))

#Gamme cible
column_start = 0            #0
column_end = array.shape[1] #4

#chercher
for j in reversed(range(array.shape[0])):
    #Gamme supérieure
    for i in range(column_start, column_end):  
        if array[i][j] >= target - 1:
            column_start = i
            break
    print(str(A[i]) + "Quand" + str(B[j]) + "Est une paire.")

Ce que j'ai appris

J'ai appris à résoudre un problème avec moins de calculs.

en conclusion

Pour être honnête, je ne savais pas comment utiliser la dernière méthode en raison d'un manque d'étude, J'aimerais continuer à apprendre la programmation.   Merci pour votre visite.

URL de référence

5 conseils de résolution de problèmes pour résoudre les questions d'entrevue de codage (lien vers la vidéo YouTube)

Recommended Posts

Comparez la somme de chaque élément dans deux listes avec la valeur spécifiée en Python
Obtenez l'index de chaque élément de la matrice de confusion en Python
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids
Astuces: [Python] Calculez la valeur moyenne de la zone spécifiée avec bedgraph
Faites correspondre la distribution de chaque groupe en Python
Découvrez la fraction de la valeur saisie en python
Calculez la valeur totale de plusieurs colonnes avec awk
Sortie de la table spécifiée de la base de données Oracle en Python vers Excel pour chaque fichier
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
Calculez des millions de chiffres dans la racine carrée de 2 avec python
Créer un tableau de multiplication de chaque élément dans une feuille de calcul (Python)
[Homologie] Comptez le nombre de trous dans les données avec Python
Obtenez le nombre d'occurrences pour chaque élément de la liste
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Comment déterminer l'existence d'un élément sélénium en Python
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
Visualisez la fréquence des occurrences de mots dans les phrases avec Word Cloud. [Python]
python Remarque: map -faire la même chose pour chaque élément de la liste
Résolvez les problèmes de somme partielle avec une recherche complète en Python
Un mémo d'un programme qui récupère une date à deux chiffres avec javascript, Ruby, Python ou un script shell.
Comptez le nombre de fois que deux valeurs apparaissent simultanément dans un élément de type itérateur Python 3
Vérifier l'existence du fichier avec python
Afficher Python 3 dans le navigateur avec MAMP
Le résultat de l'installation de python sur Anaconda
Principes de base pour exécuter NoxPlayer en Python
Recevez une liste des résultats du traitement parallèle en Python avec starmap
Projet Euler # 16 "Somme des pouvoirs" en Python
Tracer CSV de données de séries temporelles avec une valeur unixtime en Python (matplotlib)
À la recherche du FizzBuzz le plus rapide en Python
Obtenez la valeur de retour d'un script shell externe (ls) avec python3
[Python] Lire la ligne spécifiée dans le fichier
Statut de chaque système de traitement Python en 2020
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Pour générer une valeur au milieu d'une cellule avec Jupyter Notebook
Divise la chaîne de caractères par le nombre de caractères spécifié. En Ruby et Python.
Transformez plusieurs listes avec l'instruction for en même temps en Python
Obtenez le dernier élément du tableau en fractionnant les chaînes en Python et PHP
Comment obtenir une liste de fichiers dans le même répertoire avec python
Sortie du nombre de cœurs de processeur en Python
[Python] Récupérez les fichiers dans le dossier avec Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Préparer l'environnement d'exécution de Python3 avec Docker
Mathématiques Todai 2016 résolues avec Python
Projet Euler # 10 "somme des nombres premiers" en Python
Trouvez la valeur de l'humeur avec python (Rike Koi)
[Note] Exportez le html du site avec python.
Récupérer l'appelant d'une fonction en Python
[Automation] Extraire le tableau en PDF avec Python
Calculez le nombre total de combinaisons avec python
Copiez la liste en Python
Vérifiez la date du devoir de drapeau avec Python
Réécrire des éléments dans une boucle de listes (Python)
Comparez la vitesse d'ajout et de carte Python
Trouvez la solution de l'équation d'ordre n avec python
L'histoire de la lecture des données HSPICE en Python
[Note] À propos du rôle du trait de soulignement "_" en Python