PIG

2017-07-13 6 views
1

内の1つのタプルからタプルのセットを生成し、私はルールに従って1組からにタプルのセットを生成する方法を任意の解決策を見つけることができませんでした:PIG

入力:

((1,2,3),(a,b,c),(aaa,bbb,ccc)) 

出力:

(1,a,aaa) 
(2,b,bbb) 
(3,c,ccc) 

と仮定TOBAGとFLATTENを適用する必要がありますが、あまりにも扱いにくいようです。

+0

あなたのスクリプト全体を投稿 –

答えて

1

(「スター」引数)を開梱zip組み込み関数と引数を使用します。

>>> x = ((1,2,3),('a','b','c'),('aaa','bbb','ccc')) 

>>> tuple(zip(*x)) 
((1, 'a', 'aaa'), (2, 'b', 'bbb'), (3, 'c', 'ccc')) 

>>> for y in zip(*x): 
    print(y) 

(1, 'a', 'aaa') 
(2, 'b', 'bbb') 
(3, 'c', 'ccc') 
1

[tuple(original[i] for original in originals) for i in range(len(original[0]))] 元のリストがoriginalsの場合、2番目のタプルリストが表示されます。