Créer une liste grace à un string répété

- - Dernière réponse :  Eva-May - 8 sept. 2019 à 22:11
Bonjour à vous,

Je tiens à précisez que je suis encore débutante dans le code et que je dois m'en servire pour mon travail, donc il me faut comprendre et apprendre de solide base, c'est pourquoi je me tourne vers vous :)

Je suis en trian de créer un Auto-Rig (rigger est la eprsonne qui met le squelette dans les personnages pour ceux qui ne savent pas). Et je cherche un moyen d'ajouter tout mes locators créer à une liste sans avoir à répérer
locList.append(locator[0])
à la fin de chaque création de chaque locator (ce qui répète environ 40 fois cette ligne).
Pour palier à celà, j'ajoute le string '_loc' à la fin de chaque nom, donc tout ces locators ont forcément ce string à la fin de leur nom.
Ma question est donc :
Comment créer une boucle (peut etre ?) qui dise en gros :
for each containt '_loc' :
locList.append(each)

Voici mon code :
import maya .cmds as mc

locator = mc.spaceLocator(n = 'Sternum_loc')
mc.setAttr(locator[0] + '.translate', 0,105,2)
locList.append(locator[0])
locator = mc.spaceLocator(n = 'Scapula_loc')
mc.setAttr(locator[0] + '.translate', 0,109,1)
locList.append(locator[0])
locator = mc.spaceLocator(n = 'Neck1_loc')
mc.setAttr(locator[0] + '.translate', 0,114, 2)
locList.append(locator[0])
locator = mc.spaceLocator(n = 'Neck2_loc')
mc.setAttr(locator[0] + '.translate', 0,121,5)
locList.append(locator[0])
locator = mc.spaceLocator(n = 'Head_loc')
mc.setAttr(locator[0] + '.translate', 0,132,7)
locList.append(locator[0])
locator = mc.spaceLocator(n = 'Top_loc')
mc.setAttr(locator[0] + '.translate', 0,144,5)
locList.append(locator[0])


Merci pour votre aide,n'héistez pas si vous avez des questions, toute remarques et commentaires bienveillant sera le bienvenue :)
Afficher la suite 

1 réponse

0
Merci
NB : J'ai déjà esseyer cette configuration là :

import maya .cmds as mc

locList = [] #définir ma liste
locList.append(mc.spaceLocator(n = 'Sternum')) # ajouter la création de mon locator directement à ma liste
mc.setAttr(locList[0] + '.translate', 0,80,4) # placer mon locator là ou je le souhaite


et malheureusement celà me créer un tableau dans un tableau et donc mon setAttr ne fonctionne pas :/
Je précise que je ne peut pas créer le locator avec d'office les coordonnée qu'il faut, il ne se place mal dans le monde.
Commenter la réponse de Eva-May