Pass offert BW2024
  Connexion   Inscription

Questions & Réponses

  vendredi 13 mars 2020
  1 réponses
  2.5K vues
  Suivre cette discussion
Bonjour,
Dans le problème de codification que j'ai avec un code avec 8 paramètres séparés par "-".
Dans certains cas, des paramètres ne sont pas dans la codification, il en ressort :
XXX-YYY--CCC--AAA-BBB
Étant donné qu'il y aura une relecture de cette codification dans la maquette par une hyper vision, je ne peux avoir des "-" dupliqués.
Du coup, j'ai, dans Dynamo, une recherche de "--" avec une liste, ainsi qu'une recherche de codification incomplète dont je tire deux listes booléens.
Étant donné qu'il est complexe de faire ça via l'algorithme Dynamo, j'ai commencé à travailler sous Python.

Du coup, avant d'aller trop vite, je fais une phase de test avec deux listes :
- Une liste "Tests" avec A, B, K
- Une liste "Cds" avec True, True, False
Le tout dans une liste "Tab"
et aussi un string "Remplace"="oO" (juste parce que c'est la tête que je vais faire quand ça va marcher)

Ce que je souhaite comme résultat, c'est :
Si Cd dans Cds est True
Passé
Sinon si Cd dans Cds est False
Test dans Tests = Remplace
Mettre dans le FinTab le résultat Test
Le mettre en Sortie

Si quelqu'un a une solution, ça m’intéresse !!!!
3 years ago
·
#14227
0
Votes
Undo
Salut
voici une solution


checklst = [['A',True], ['B',True], ['C',False]]
remplace = 'Oo'
finalLst = []
for x, y in checklst:
if y:
finalLst.append([x, y])
else:
finalLst.append([remplace, y])
print(finalLst)


sinon pour remplacer les valeurs manquantes '--' par une valeur en fonction du contenu tu peux utiliser un dictionnaire

listcode = [ 'XXX-YYY-O-CCC-O-AAA-BBB', 'XXX-YYY--CCC--AAA-BBB', 'XXX-YYY--CCC--AAA-CCC', 'XXX-YYY--CCC--AAA-DDD', 'XXX-YYY-Q-CCC-Q-AAA-DDD']
dictReplace = {'AAA-BBB':'O', 'AAA-CCC':'P', 'AAA-DDD':'Q'}
finalLst = []
for item in listcode:
if '--' in item:
for key , value in dictReplace.items():
if key in item:
newValue = item.replace('--', '-{}-'.format(value))
finalLst.append(newValue)
else:
finalLst.append(item)
Mohamed KHETTAB
updated the category from to Modélisation, simulation et visualisation — 7 months ago
There are no replies made for this post yet.

Hexabim

La plateforme du BIM et de la Construction Numérique en France.

© HEXABIM 2014 - 2024

Connexion