2017-07-13 33 views
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