Python 获取转换节点字符串&;列表玛雅蟒蛇

Python 获取转换节点字符串&;列表玛雅蟒蛇,python,maya,Python,Maya,我添加了一个列表,结果如下: [[u'polyToCurve1', u'polyEdgeToCurve1'], [u'polyToCurve2', u'polyEdgeToCurve2'],....etc 我需要它来选择所有“polyToCurve#”变换节点的列表,其他什么都不需要,但我不知道如何到达那里。。。这很新,所以这可能是一个简单的答案,但IDK selection = cmds.ls(selection=True, flatten = 1) curveList = [] for

我添加了一个列表,结果如下:

[[u'polyToCurve1', u'polyEdgeToCurve1'], [u'polyToCurve2', u'polyEdgeToCurve2'],....etc
我需要它来选择所有“polyToCurve#”变换节点的列表,其他什么都不需要,但我不知道如何到达那里。。。这很新,所以这可能是一个简单的答案,但IDK

selection = cmds.ls(selection=True, flatten = 1)
curveList = []

for i in selection:
    cmds.select(i, r=True)
    curveList.append(cmds.polyToCurve(form= 0, degree= 3))
    print curveList

我只需要一个简单的polyToCurve的列表,然后我就可以使用cmds。再次选择“打开”

最简单的方法是使用列表理解:

curveList = [curve for (curve, edgeCurve) in curveList]
中间部分将两个元素列表拆分为两个变量,然后第一部分选择这些元素中的第一个。列表理解作为一个整体,构成了一个仅由这些内容组成的单一列表

selection = cmds.ls(selection=True, flatten = 1)
curveList = []

for i in selection:
    cmds.select(i, r=True)
    curveList.append(cmds.polyToCurve(form= 0, degree= 3)[0])
    print curveList

您只需选择函数输出列表的第一个索引

是否将其置于curveList.append下?我刚试了一下,结果发现:#值错误:太多的值无法解包#这很有效,谢谢!我没有意识到我可以用索引将每一行都提取出来#这可能在两行中更明显:curve=cmds.polyToCurve(form=0,degree=3)和curveList.append(curve[0])