LoginSignup
0
0

More than 5 years have passed since last update.

Python で 1次元的 2次元リストを 1次元化[スニペット的備忘録的に]

Last updated at Posted at 2019-04-11

CSV から 1次元リストを読み込んだと思ったらなぜか 2次元だった:

[[1, 2, 3, 4, 5]]

これを 1次元化したい:

[1, 2, 3, 4, 5]

とりあえず,最小コーディング労力で 1次元化したかった自分的に最良の方法は「元リストの第一要素を新変数に格納する」:

>>> ls = [[1, 2, 3, 4, 5]]
>>> ls_new = ls[0]
>>> print(ls_new)
[1, 2, 3, 4, 5]

こんなコードを記事にするのは申し訳ないと思うのですが,作業中は心理的盲点?をつかれたのか,若干ハマってしまったので,備忘録的に書き残します

ハマってしまった一因は,

[[1, 2, 3], [4, 5]]

のような「普通の」2次元リストを 1次元化する無数の方法の中から,最小コーディング労力のものを探そうとしてしまったことでした.教訓があるとすれば「ググるだけでなく自分でも考えよう」でしょうか

ちなみに上記のような「普通の」2次元リストの場合,最小コーディング労力という観点から,
「元 2次元リストで 2重に iterate し,要素を新 1次元リストに順次格納する」
というコンセプトのコードを,某 overflow あたりで見た記憶があるのですが,再発掘できなかったので,これも自分への備忘として残しておきます

>>> ls = [[1, 2, 3], [4, 5]]
>>> ls_new = []
>>> for i in ls:
...     for x in i:
...         ls_new.append(x)
... 
>>> print(ls_new)
[1, 2, 3, 4, 5]
0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0