
Envoyé par
Rehoc59
Effectivement, je ne suis pas très clair
Pour demander de l'aide, il faut un minimum de bagage technique pour exprimer correctement ce qu'on veut. A défaut, on peut juste poster l'énoncé du problème et le code qu'on a essayé.
Prenez un tableau:
>>> L = ('a', 4), ('b', 0), ('c', 2)
note: et c'est un tableau car il a deux dimensions.
Si on veut fabriquer un 2ème tableau tel que décrit, on commence par fabriquer le résultat attendu à partir de L.
Ce qui en Python de base donne:
1 2 3 4 5 6 7 8 9
| >>> index = 0
>>> R = []
>>> for s, c in L:
... for j in range(c):
... R.append((index, s))
... index += 1
...
>>> R
[(0, 'a'), (1, 'a'), (2, 'a'), (3, 'a'), (4, 'c'), (5, 'c')] |
Après on peut s'amuser à faire des variations, genre fabriquer R avec ses index avant:
1 2 3 4 5 6
| >>> v = sum(x[1] for x in L)
>>> v
6
>>> R = [(u,) for u in range(v)]
>>> R
[(0,), (1,), (2,), (3,), (4,), (5,)] |
Et la jonglerie sera similaire:
1 2 3 4 5 6 7 8 9
| >>> index = 0
>>> for s, c in L:
... for j in range(c):
... R[index] = (R[index][0], s)
... index += 1
...
>>> R
[(0, 'a'), (1, 'a'), (2, 'a'), (3, 'a'), (4, 'c'), (5, 'c')]
>>> |
Remplacer les structures de base du langage (liste, tuple,...) par des entités plus abstraites telles que des dataframes qui sortent de pandas ou de databricks ne change pas grand chose à ce qui devra être fait: ça ajoute une couche qui devrait nous éviter d'avoir à écrire nombre de ligne de code.
Ici, cette couche ne semble pas apporter grand chose sinon de vous forcer à manipuler les concepts qui vous avec mais si vous n'avez pas pris le temps d'apprendre les bases du langage (pour faire sans cette couche) ben vous êtes coincé tant pour faire par vous même que pour demander de l'aide (ou chercher sur Internet).
- W
Partager