ホームページ > バックエンド開発 > Python チュートリアル > Pythonでの2次元配列の変換例

Pythonでの2次元配列の変換例

WBOY
リリース: 2016-06-16 08:41:15
オリジナル
1695 人が閲覧しました

この記事の例では、Python での 2 次元配列の変換方法を説明します。皆さんの参考に共有してください。具体的な方法は以下の通りです。

まず次のコードを見てください:

arr = [ [1, 2, 3], [4, 5, 6], [7, 8,9], [10, 11, 12]] 
 
print map(list, zip(*arr)) 
print '_-------------------------------------------------' 
print [[r[col] for r in arr] for col in range(len(arr[0]))] 

ログイン後にコピー

実行結果は次のとおりです:

[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
_-------------------------------------------------
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

ログイン後にコピー

説明は次のとおりです:

1. 最初のメソッド :map(list, zip(*arr))
zip([反復可能, ...])
この関数はタプルのリストを返します。ここで、i 番目のタプルには、各引数シーケンスまたはイテラブルの i 番目の要素が含まれます。 zip()

この関数はタプルのリストを返します。ここで、i 番目のタプルには、パラメータとして渡されたキューの各パラメータ要素の I 番目の要素が含まれます

別の例を挙げてみましょう:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]

ログイン後にコピー
実際、zip(*arr) は [(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)] を返しますが、その各要素はタプル

マップ(関数、リスト):

リスト内の各要素で func メソッドを呼び出し、リストを返します

パラメータ *arr は、任意の位置ベースのパラメータを渡すための Python の構文です

2. 2 番目の方法: [[r[col] for r in arr] forcol in range(len(arr[0]))] 内部導出は選択された要素 (行から) を変更しますが、外部導出はセレクター (つまり、列) に影響します

この記事が皆さんの Python プログラミング設計に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート