3

一連の座標の順列を与える単純なジェネレーターがあります。以下のコードを使用して、新しい各順列を配列内の要素に保存したいと思います。

import random
def poss_comb(coord):
    spin=random.shuffle
    if spin:
        spin(coord)
        yield (coord)
...

a=[]
for n in xrange(0,10):
    for item in poss_comb(coord):
        print item
        a.append(item)

ただし、結果を印刷すると、item必要なものが得られます。

['0 1', '', '1 2', '1 3']
['0 1', '', '1 2', '1 3']
['1 2', '0 1', '1 3', '']
['0 1', '1 2', '', '1 3']
['1 3', '', '1 2', '0 1']
['1 3', '1 2', '0 1', '']
['0 1', '', '1 3', '1 2']
['1 2', '0 1', '', '1 3']
['1 2', '1 3', '', '0 1']
['', '1 2', '1 3', '0 1']

一方、印刷list aは、各要素が最後の順列のコピーである配列を提供します。

これを行うためのより良い方法は何でしょうか?

4

1 に答える 1