リスト/タプルを「フリップ」する最もPythonの方法は何ですか?リスト/タプルをフリップするpythonic方法
私がフリップをしていることは、タプル[a] [b]のような構文で使用できるタプルのタプルがあり、それをタップル[b] [a]同じアイテムを取得する。
アン例:
t = [
[1, 2, 3]
[4, 5, 6]
]
flipped(t) = [
[1, 4]
[2, 5]
[3, 6]
]
リスト/タプルを「フリップ」する最もPythonの方法は何ですか?リスト/タプルをフリップするpythonic方法
私がフリップをしていることは、タプル[a] [b]のような構文で使用できるタプルのタプルがあり、それをタップル[b] [a]同じアイテムを取得する。
アン例:
t = [
[1, 2, 3]
[4, 5, 6]
]
flipped(t) = [
[1, 4]
[2, 5]
[3, 6]
]
転置と呼ばれます。
>>> t = [
... [1, 2, 3],
... [4, 5, 6]
... ]
>>> zip(*t)
[(1, 4), (2, 5), (3, 6)]
>>> map(list, zip(*t))
[[1, 4], [2, 5], [3, 6]]
t
ではなく、numpyのarray
た場合、彼らは転置返すプロパティT
あります
>>> import numpy as np
>>> np.array(t)
array([[1, 2, 3],
[4, 5, 6]])
>>> np.array(t).T
array([[1, 4],
[2, 5],
[3, 6]])
私はそれが何と呼ばれているのか教えてくれてありがとう! –
ジップことであろう。 zipでは、要素をフリップ/トランスポーズする列ごとに(行列がある場合は)列単位で取得します。
list(zip(*t))
# [(1, 4), (2, 5), (3, 6)]
答えの説明がある方が良いです。 –
なお、リストのリストであることを、あなたはどのタプルを持っていません。 – jonrsharpe
@jonrsharpe whoops。それは本当に重要ではありませんが、それを指摘してくれてありがとう。 –