2017-04-10 11 views

答えて

3

現在地zipを使用する必要があります。

のPython 3+で
>>> lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']] 

# Python 2.7 
>>> result = zip(*lst) 
>>> result 
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')] 

zip戻りジェネレータオブジェクト。私はあなたが答え、 `res.appendにそれをコピーしたときにインデントエラーがあなたのコードにしてこっそりと信じ

# In Python3+ 
>>> list(zip(*lst)) 
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')] 
0
listLen,listElemLen = len(lst), len(lst[0]) 
res = [] 
for i in range(listElemLen): 
    temp = [] 
    for j in range(listLen): 
     temp.append(lst[j][i]) 
    res.append(temp) 
print(res) #[[1,3,5,7],[2,4,6,8],['a','b','c','d']] 
+0

listとして値を取得するためには、明示的に型キャストすることをとして持っています(temp) 'は内部for-loopの外側になければなりません。 –

+0

@ juanpa.arrivillaga Ah。はい。それを指摘していただきありがとうございます。編集されました。 – Geetanjali

関連する問題