2016-08-25 58 views
2

我需要列出清单格式化成元组的列表,理想的结果是:增加价值为元组(邮编()在for循环中)在Python

>>A = [[1, 2, 3]] 
>>A.append([1, 2, 3]) 
>>A.append([1, 2, 3]) 
>>print A 
[[1, 2, 3], [1, 2, 3], [1, 2, 3]] 

而我所需的输出是:

>>zip (A[0],A[1],A[2]) 
[(1, 1, 1), (2, 2, 2), (3, 3, 3)] 

现在想象一下,列表中是非常大的,我不能这样做的过程写一个很小的代码行,如果我尝试循环的zip()函数的结果如下:

>>print zip (A[0],a) 
>>[(1, (1, 1, 1)), (2, (2, 2, 2)), (3, (3, 3, 3))] 

>>B = zip(A[0]) 
>>for idx,val in enumerate(A): 
    for idx1,val1 in enumerate(B): 
     B[idx1] = val1 + (A[idx][idx1],) 

返回所需的结果:

,我想出了用递归循环讨厌的解决方案

[(1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3)] 

因此,有一个正确的/清洁/更快地解决这个问题的方法?

(因为它是Python中的嵌入式封装我不能用熊猫螺母与NumPy在早期版本是允许的)

回答