从pig中的一个元组生成一组元组

nafvub8i  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(317)

我找不到任何解决方案如何在pig中根据规则从一个元组生成一组元组:
输入:

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

输出:

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

假设应该应用tobag和flatten,但这似乎太棘手了。

qxsslcnc

qxsslcnc1#

使用 zip 内置函数和参数解包(“star”参数):

>>> 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')
tcomlyy6

tcomlyy62#

[tuple(original[i] for original in originals) for i in range(len(original[0]))] 如果调用原始列表,则将给出第二个元组列表 originals .

相关问题