我找不到任何解决方案如何在pig中根据规则从一个元组生成一组元组:输入:
((1,2,3),(a,b,c),(aaa,bbb,ccc))
输出:
(1,a,aaa) (2,b,bbb) (3,c,ccc)
假设应该应用tobag和flatten,但这似乎太棘手了。
qxsslcnc1#
使用 zip 内置函数和参数解包(“star”参数):
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')
tcomlyy62#
[tuple(original[i] for original in originals) for i in range(len(original[0]))] 如果调用原始列表,则将给出第二个元组列表 originals .
[tuple(original[i] for original in originals) for i in range(len(original[0]))]
originals
2条答案
按热度按时间qxsslcnc1#
使用
zip
内置函数和参数解包(“star”参数):tcomlyy62#
[tuple(original[i] for original in originals) for i in range(len(original[0]))]
如果调用原始列表,则将给出第二个元组列表originals
.