Я пытаюсь это сделать.У меня есть словарь, выложенный так:
legJointConnectors = {'L_hip_jnt': ['L_knee_jnt'], 'L_knee_jnt': ['L_ankle_jnt'], 'L_ankle_jnt': ['L_ball_jnt'], 'L_ball_jnt': ['L_toe_jnt']}
Что я хочу сделать, это перебрать это, но заменим L_ на R_.Вот как я пытался это сделать, но не получилось, потому что он ожидает строку, и я передаю ей список.
for key, value in legJointConnectors.iteritems():
if side == 'L':
cmds.connectJoint(value, key, pm=True)
else:
key = re.sub('L_', 'R_', key)
value = re.sub('L_', 'R_', value)
cmds.connectJoint(value, key, pm=True)
Очевидно, я не делаю это правильно, так как я могу это сделать?Должен ли я создать пустой словарь и заполнить его необходимыми данными на лету?Или есть лучший способ сделать это?Спасибо за помощь!
[edit] Команда if == 'L' проверяет, над какой стороной мы сейчас работаем.Этот сценарий используется в Maya, поэтому я создаю соединения на основе стороны, а затем соединяю их.
Основываясь на предложении KennyTM, я попробовал это:
for key, value in legJointConnectors.iteritems():
if side == 'L':
cmds.connectJoint(value, key, pm=True)
else:
for v in value:
value = 'R_' + v[2:]
for k in key:
key = 'R_' + k[2:]
print key
print value
, но покавозвращает правильный ключ, значение возвращается как R_