循环列表

2024-09-22 14:23:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着循环两个列表,然后加入他们。但是我在构造循环代码时遇到了问题。你知道吗

这是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

Tags: appcacheforfolderglobrigtotodi
1条回答
网友
1楼 · 发布于 2024-09-22 14:23:14

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

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

相关问题 更多 >