質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

2304閲覧

二次元配列を三次元配列にしたい

kaitotokai

総合スコア59

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/04/26 14:19

前提・実現したいこと

二次元配列を三次元配列にしたい。
iに入る配列を

[[["100","150"],["2","4"]],[["140","120"],["3","5"]]]

などという三次元配列にし、print文で出力したい

該当のソースコード

num = 0 for i in range(len(array)): #iは[["100","150","2","4"],["140","120","3","5"]]などがくる    li =[] if num % 2 ==0: li.append(i[num]) ・ ・ ・ num += 1 print(li)

とif文を使って描く方法を思いついたが、あまりにも冗長なので他にいい書き方を教えてもらいたい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

(4個のリスト)のリスト(配列じゃない!)を、((2個のリスト)の2個のリスト)のリストにしたいということ?

[[x[:2], x[2:]] for x in i]

でいいですよ。

In [1]: i = [["100","150","2","4"],["140","120","3","5"]] In [2]: [[x[:2], x[2:]] for x in i] Out[2]: [[['100', '150'], ['2', '4']], [['140', '120'], ['3', '5']]]

投稿2018/04/26 15:09

quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaitotokai

2018/04/27 00:58

回答をくださりありがとうございます。配列じゃない! と書かれた理由を知りたいです。配列=リストではないのでしょうか?
quickquip

2018/04/27 01:54 編集

Pythonで使われている名前と違う表記を使う理由が全くありません。 というか、結局この質問はPythonのリストに関する質問だったのですか? Numpyのndarrayに関する質問だったのですか? もし後者なら、配列と呼んで差し支えがないですが、そうすると質問に[[["100","150"],["2","4"]],[["140","120"],["3","5"]]]とだけ書かれてもリストにしか見えないので、状況が伝わりません。 リストにしか見えないコードを書きつつ、言葉で配列と呼ぶと、これほどに混乱するという悪い見本になっています。 名前に無頓着であるということはプログラマとして、矯正するべき悪癖です。
kaitotokai

2018/04/27 02:44

なるほど、ありがとうございました。Pythonのリストに関する質問なので、リストです
guest

0

ベストアンサー

reshape()メソッドを使ってみてはいかがでしょうか。
例えば、shapeで(2,4)となっているarray(変数名arとする)を(2,2,2)にするには、ar.reshape(2,2,2)で実現できます

投稿2018/04/26 21:12

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問