■ Python 3
今回はちょっと適当にセット(set)について知るために、お試しです。
セットの作成には「set( )」関数を使用することで、空のセットを作成可能。
何も考えずに、適当に「素数」をセットに追加していく処理を作成。(アルゴリズムとか全然真面目に考えていないですが…)
とりあえず、20までの素数をきれいに抜き出せていました。
その数ー1までのすべての数で割り切れなければOKという形にしました。
(本来はその数の1/2まででよいですし、1を追加しているのは正しくない、など色々と真面目に考えていない部分だらけですが・・・)
大丈夫そうなので、このループを「20」→「1000」に更新。
すると、表示されたリストの内容は…「ん?」という感じでした。
最後の数が「509」となっていたので、「何で?」と思ったんですが、よくよく見ると、順番がぐちゃぐちゃなだけで、「509」以降の素数も抜き出せていました。
調べてみると…セット(set)には、順番は保持されず、順不同になってしまうようです。
このあたり、Java等と同じです。
順番を保持できない以上、並べ替えるのは無理なので、お手軽な方法としては「リスト(list)」への変換。
list関数でリストに変換し、sorted関数にリストを渡すことで、リストの中身をソートすることができました。
これで一応、順番通りにきれいに並べることができるようです。