-1

このリストをループする必要がありますが、作成するのに混乱しています。

これは私のコードです:

folders=[["Anim_2p.scn_c_DI_rig"],["Anim_2p.scn_c_TOTO_GALLO_rig"]]
members = 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"]]

..これは望ましい結果です:

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

どうやってやるの?ループとループのいくつかの方法を試しましたが、うまくいきませんでした。

4

3 に答える 3

1

リスト内包表記を使用できます:

folders = [["Anim_2p.scn_c_DI_rig"],["Anim_2p.scn_c_TOTO_GALLO_rig"]]
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"]]
print('\n'.join([
    '{m} {f}'.format(m=member, f=folder)
    for memberlist, folderlist in zip(members, folders)
    for member in memberlist
    for folder in folderlist]))

収量

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

リスト内包表記は次と同等です

result = []
for memberlist, folderlist in zip(members, folders):
    for member in memberlist:
        for folder in folderlist:
            result.append('{m} {f}'.format(m=member, f=folder))

次に、リスト内の項目を (各行に 1 つ) 印刷することができます。

 print('\n'.join(result))
于 2013-04-10T14:33:59.883 に答える
0

この種の問題は、リスト アイテムの代わりにリスト インデックスをループすると簡単に解決できます。たとえば、次のようなことができます。

for i in range(len(folders)):
    for m in members[i]:
        print(m, folders[i][0])
于 2013-04-10T14:36:18.897 に答える