2017-12-19 6 views

답변

1

이 경우 나는 2 개의 문자열을 연결하지만 숫자는 똑같이 작동해야합니다. "e"값을 건너 뛰었습니다.

p=["a","b","c","d", "e","f","g"] 
def trasforma(p,num): 
    l=list() 
    for i in range(0,num): 
     l.append([j+str(i) for j in p]) 
    return l 
x=sc.parallelize(trasforma(p,10)+trasforma(p,10)).map(lambda x: ((x[0], (x[1],x[2])), (x[3],x[5],x[6]))) 
x.reduceByKey(lambda x,y: (x[0]+y[0], x[1], x[2])).collect() 
--------OUTPUT-------- 

[(('a5', ('b5', 'c5')), ('d5d5', 'f5', 'g5')), 
(('a8', ('b8', 'c8')), ('d8d8', 'f8', 'g8')), 
(('a1', ('b1', 'c1')), ('d1d1', 'f1', 'g1')), 
(('a0', ('b0', 'c0')), ('d0d0', 'f0', 'g0')), 
(('a9', ('b9', 'c9')), ('d9d9', 'f9', 'g9')), 
(('a7', ('b7', 'c7')), ('d7d7', 'f7', 'g7')), 
(('a2', ('b2', 'c2')), ('d2d2', 'f2', 'g2')), 
(('a3', ('b3', 'c3')), ('d3d3', 'f3', 'g3')), 
(('a4', ('b4', 'c4')), ('d4d4', 'f4', 'g4')), 
(('a6', ('b6', 'c6')), ('d6d6', 'f6', 'g6'))] 
관련 문제