焼肉on寿司onピザ

プログラミングとか、かっこいい音楽とかの話を

【Python3】listをset()とlist()で.sort()とsorted()

はじめに

AtCoderの例題解いてたら、こんがらがったので自分の整理メモ

本題

例えば、配列 [5, 1, 4, 2, 7, 100, -12, 2, 1, 4, 1, 5, 100] があったとして、オリジナルの要素だけにしてソートする という時

set()やらsort()を使うと1行でオリジナル化とソートができる、覚えておこう

l = [5, 1, 4, 2, 7, 100, -12, 2, 1, 4, 1, 5, 100]
print(sorted(list(set(l)))) # [-12, 1, 2, 4, 5, 7, 100]


今まではなぜか.sort()を使っていた。.sort()が返す値はNoneなのでset()と一緒に書けない、美しくない

l = [5, 1, 4, 2, 7, 100, -12, 2, 1, 4, 1, 5, 100]
l = list(set(l))
l.sort()
print(l) # [-12, 1, 2, 4, 5, 7, 100]

大事なのは、

関数が返す値を理解しておけってこと、
プログラミング5年目で気づきました。(雑魚)


ドット無し関数()が返す値はなんかある
.ドットあり関数()が返す値はNone 、だがこいつはくっついてる値をいじるんだな
って感じなのを理解できたので寝ます。