Как я могу отсортировать список Python Maya - PullRequest
0 голосов
/ 24 октября 2018

У меня есть список [0, 0, 0, 0.5, 0.5], и я хотел бы отсортировать его, чтобы сохранить только значения, которые не равны 0.

from maya import cmds

def splitShape():
    a = cmds.ls(sl=True)

    if len(a)<=1:
        cmds.warning( "Select 2 target")

    elif len(a) >= 2:
        #cmds.warning( "SPLIIIIIT")
        cmds.select( a[0] , r = True)
        Vertex = a[0] + '.vtx[*]'
        cmds.select(Vertex)

        #_____LIST______
        b = cmds.getAttr(a[0] + 'Shape' + '.pnts[*]' + '.pntz')
        #print b

        if len(b) == 0:
            print ok
        elif len(b) != 0:
            cmds.setAttr( a[0] + 'Shape' + '.pnts[*]' + '.pntz' , 0)

Tanks :)

Ответы [ 2 ]

0 голосов
/ 25 октября 2018
a = [0, 0, 0, 0.5 ,0.5]

b = [x for x in a if a != 0] # list comprehension
0 голосов
/ 24 октября 2018

Чтобы отфильтровать список, сохраняя только значения, не равные нулю:

a = [0, 0, 0, 0.5 ,0.5]
list(filter(lambda x: x != 0, a))
# [0.5, 0.5]
...