Combinaisons et calcul
goodsayan
-
khrug -
khrug -
Bonjour,
Je débute complètement en python. Je cherche à générer des combinaisons d'objets et de calculer des sommes les caractérisants.
Un peu confus donc je donne vite un exemple:
J'ai 3 objets 'A','B','C' que je souhaite combiner entre eux par 2 par exemple.
Afin d'obtenir ce résultat
[['A', 'B'], ['A', 'C'], ['B', 'C']]
Maintenant les objets ont ses caractéristiques
A= [ST=5,SD=7,SA=2]
B= [ST=1,SD=3,SA=3]
C= [ST=2,SD=2,SA=4]
Je souhaiterais qu'en plus d'obtenir ['A', 'B'], j'ai la somme de caractéristiques de 'A' et 'B' tel que [ST=6,SD=10,SA=5] et cela pour chacune des combinaisons possibles.
Le résultat attendu serait:
La combinaison A, B donne ST=6,SD=10,SA=5
La combinaison A, C donne ST=7,SD=9,SA=6
La combinaison B, C donne ST=3,SD=5,SA=7
Merci d'avance
Je débute complètement en python. Je cherche à générer des combinaisons d'objets et de calculer des sommes les caractérisants.
Un peu confus donc je donne vite un exemple:
J'ai 3 objets 'A','B','C' que je souhaite combiner entre eux par 2 par exemple.
Afin d'obtenir ce résultat
[['A', 'B'], ['A', 'C'], ['B', 'C']]
Maintenant les objets ont ses caractéristiques
A= [ST=5,SD=7,SA=2]
B= [ST=1,SD=3,SA=3]
C= [ST=2,SD=2,SA=4]
Je souhaiterais qu'en plus d'obtenir ['A', 'B'], j'ai la somme de caractéristiques de 'A' et 'B' tel que [ST=6,SD=10,SA=5] et cela pour chacune des combinaisons possibles.
Le résultat attendu serait:
La combinaison A, B donne ST=6,SD=10,SA=5
La combinaison A, C donne ST=7,SD=9,SA=6
La combinaison B, C donne ST=3,SD=5,SA=7
Merci d'avance
Configuration: Windows / Firefox 69.0
A voir également:
- Combinaisons et calcul
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
1 réponse
Bonjour.
Ce n'est pas très compliqué.
D'abord générer les combinaisons, puis à l'aide des identifiants d'objets, récupérer leur caratéristiques pour en faire la somme.
Ce qui pourrait se traduire par.
Ce n'est pas très compliqué.
D'abord générer les combinaisons, puis à l'aide des identifiants d'objets, récupérer leur caratéristiques pour en faire la somme.
Ce qui pourrait se traduire par.
import itertools objets = { 'A':{'ST':5,'SD':7, 'SA':2}, 'B':{'ST':1, 'SD':3, 'SA':3}, 'C':{'ST':2, 'SD':2, 'SA':4}, } combinaisons = itertools.combinations(objets, 2) resultats = {} for comb in combinaisons: attrs = dict.fromkeys(objets['A'], 0) for n in comb: for k, v in objets[n].items(): attrs[k] += v resultats[comb] = attrs print(resultats)