循环列表列表

时间:2013-04-10 00:54:11

标签: python

我试图遍历2个列表然后加入它们。但是我在构造循环代码时遇到了麻烦。

这是Softimage(动画3D程序)代码,但我希望它有意义。

这就是我所拥有的:

import os
import glob
app = Application
storeSelect=[]
mypath = app.ActiveProject.ActiveScene.filename.value
folder=[]
storeAll=[]
listObj=[]
path=[]
storeSelecte=[]
folderAll=[]
#Seleccion
app.SelectObj("*.geometry_cache_grp*")
mySelection = app.Selection


# GETS PATHS FOr each Character Folder

userPath=Application.XSIInputBox ("Direccion de Cache", "Cache")+ "/" 
os.chdir(userPath)


#/loops

for lis in mySelection:
    storeSelect.append(lis)
    members = app.SelectMembers(lis)
    app.SelectObj("*.geometry_cache_grp*")
    mySelection = app.Selection

    for files in sorted(glob.glob("*.scn_c*")):
        folder=files
        for lise in members:
            print lise,folder

但我得到的结果是两次,就像这样:

# DI_CACHE.lengua Anim_2p.scn_c_DI_rig
# DI_CACHE.vidrios Anim_2p.scn_c_DI_rig
# DI_CACHE.dientes_abajo Anim_2p.scn_c_DI_rig
# DI_CACHE.lengua Anim_2p.scn_c_TOTO_GALLO_rig
# DI_CACHE.vidrios Anim_2p.scn_c_TOTO_GALLO_rig
# DI_CACHE.dientes_abajo Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.lengua Anim_2p.scn_c_DI_rig
# TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_DI_rig
# TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_DI_rig
# TOTO_GALLO_cache.lengua Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_TOTO_GALLO_rig

有没有人知道如何纠正我的循环,所以它只通过它一次(仅)?结果应如下所示:

# DI_CACHE.lengua Anim_2p.scn_c_DI_rig
# DI_CACHE.vidrios Anim_2p.scn_c_DI_rig
# DI_CACHE.dientes_abajo Anim_2p.scn_c_DI_rig 
# TOTO_GALLO_cache.lengua Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_TOTO_GALLO_rig

1 个答案:

答案 0 :(得分:0)

我不确定它是否对您有所帮助,但您可以执行以下操作:

members=[["DI_CACHE.lengua","DI_CACHE.vidrios","DI_CACHE.dientes_abajo"],["TOTO_GALLO_cache.lengua","TOTO_GALLO_cache.dientes_01","TOTO_GALLO_cache.plumas_guantes"]]'

folders=[["Anim_2p.scn_c_DI_rig"],["Anim_2p.scn_c_TOTO_GALLO_rig"]]

然后

for i in xrange(len(a)):
    for n,m in itertools.product(a[i],b[i]):
        print n,m

结果:

DI_CACHE.lengua Anim_2p.scn_c_DI_rig
DI_CACHE.vidrios Anim_2p.scn_c_DI_rig
DI_CACHE.dientes_abajo Anim_2p.scn_c_DI_rig
TOTO_GALLO_cache.lengua Anim_2p.scn_c_TOTO_GALLO_rig
TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_TOTO_GALLO_rig
TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_TOTO_GALLO_rig