0

私は動的なグループを持っています: たとえば、今回は 20 個の項目を含むリストがあります.... このリストを 5 つの項目を持つ 4 つの個別のリストで作成したい..

a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
z = len(a)/4
b = []
for i in range(z)

そして、私が何をすべきかわからない後........

私はこのようなことをしましたが、それは完全に間違っています:

for i in range(len(a)):
    for j in range(z):
        b.append(a)

これは私のコードです:

import maya.cmds as cm
import random as random
myList = cm.ls(sl = True)
random.shuffle(myList)
b = [myList[i:i+5] for i in range(0, len(myList), 5)]
for i in b:
    print str(i)+".v"

結果は次のとおりです。

[u'curve13', u'curve26', u'curve5', u'curve40', u'curve17'].v

しかし、私は必要です:

[u'curve13.v', u'curve26.v', u'curve5.v', u'curve40.v', u'curve17.v'].v
4

1 に答える 1

0

スライス操作を使用:

>>> a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
>>> b = [a[i:i+5] for i in range(0, len(a), 5)]
>>> b
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]]
>>> b[2][3]
14

コメントへの更新応答

アクセスアイテム

>>> for item in b[2]: print '{}.v'.format(item)
...
11.v
12.v
13.v
14.v
15.v

更新2

>>> a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
>>> n = len(a)
>>> b = [a[n*i/4:n*(i+1)/4] for i in range(4)]
>>> c, d, e, f = b
>>> c
[1, 2, 3, 4, 5]
>>> d
[6, 7, 8, 9, 10]
>>> e
[11, 12, 13, 14, 15]
>>> f
[16, 17, 18, 19, 20]
于 2013-08-02T18:28:59.943 に答える