かべぎわブログ

技術的なことについてかけたらいいな…

Pythonのsort()でNoneって返されてハマった

概要

Pythonで配列をソートしようとおもってsort()をつかっていたらNoneって返されてハマってしまった。
そのメモ。

ハマったこと

こんなかんじの配列を

>>> print(wawawa_array)
[3, 2, 4, 1, 5]


こうしてソートしようとした。

wawawa_array = wawawa_array.sort()


そうしたらこうなってしまった。

>>> print(wawawa_array)
None




解決策

単純にこうすればよい。

>>> wawawa_array.sort()
>>> print(wawawa_array)
[1, 2, 3, 4, 5]


sort()をつかうと元の配列がそのまま書き換えられる。
ので返り値がNoneってなっていた。



似たような記述方法がしたい場合はsorted()をつかうといい。

wawawa_array = sorted(wawawa_array)


この書き方だと新たな配列をつくってソートした結果を代入する。
なので以下のようなことも可能。

sasasa_array = sorted(wawawa_array)



エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

  • 作者: Michal Jaworski,TarekZiade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也
  • 出版社/メーカー: ドワンゴ
  • 発売日: 2018/02/26
  • メディア: Kindle版
  • この商品を含むブログを見る