とまと あんらいぷ…

エンジニアの活動記録とかつぶやきとか

GitHub
スポンサードリンク

Pythonのリストとタプルと集合型の違い

WindowsでPython シリーズ その9


さて9回目。
今書いてるのは本当に基礎の基礎だけど、こういうのは絶対大事だと信じて、日々毎日コツコツとやっていきます。
これまで8日連続更新していましたが、流石に力尽きてました。
休息は大切です。1日休んだので再開します。

前回はリストについてなんとなく理解しました。

リストの他に集合を表す方法として、3つあります。(他にもあるけど)



リストについては前回記載したので、今回はタプルと集合型について。

リストとタプルの違い


リストとタプルの違いは、「後から値を変更できるかどうか」だけです。
タプルについて、Python3のマニュアルにはパックパックアンパックなど見慣れない言葉が並んでますが、今は学びません。
きっと混乱します。
中級レベルのプログラマならすぐ分かるかもしれませんが。とにかく、.NET風に言うときっと数値型かオブジェクト型です。多分。

構文違いは、

  • リストなら[]で括る。

  • タプルなら()で括る。

これだけですね。

コードを書いてみました。


そして実行
Pythonのリストとタプルと集合型の違い

リストなら、testList[2]で3番目の中身を変更できるけど
タプルの場合は
  TypeError: 'tuple' object does not support item assignment
ってエラーになってますね。

とりあえず今は、リストは便利、タプルは融通が効かない。
そんな感じで覚えておきます。

実際にリストの方がよく使うはず。

ちなみに、リストをタプルに、タプルをリストに変換するのはとても簡単。

list(タプル)
tupul(リスト)

って書けば変換できます。なんと融通がきくんだ。


エラーにならなくなりました。

Pythonのリストとタプルと集合型の違い


集合型


さて、集合型。
集合型の説明を見た時、なんて便利なんだって思いました。
簡易的データベースをコードだけで簡単に作れるんです!これはすごい。

集合型は、{ } でくくります。
作ってみましょう。


実行結果

Pythonのリストとタプルと集合型の違い

カバンに色々つっこむ事を想定したコードです。
セカンドバッグに携帯を2つ入れてますが、結果は携帯電話が一つだけ表示されますね。

集合型は値の重複を許してくれません。
だったらエラーにするか、何か検知してよ・・・と思うのですが、恐らくエラーにするよりも「削除してくれる」ことに便利さを感じるほうがよさそうです。

集合型の真骨頂


集合型のすごいところはデータベースのように「結合(和)」「交差(積)」「差分(差)」「対象差」を扱えるところです。
このすごさの全部を理解するのは、本物の
  • マニュアル
  • を読んだほうがよいでしょう。

    とりあえずコードを書いてみます。



    結果・・・めちゃ便利。泣きそう。

    Pythonのリストとタプルと集合型の違い

    ところで、集合型には
    "携帯電話","財布","小説","お弁当" という順番で入れたのに

    {'携帯電話', 'お弁当', '財布', '小説'}

    って出ています。入れたコードの順番通りに、出力されていません。

    集合型は、並びは保証されないんですね。
    リストとタプルは保証されます。

    この当たりは、それぞれの集合を表す方法の仕様ですね。
    プログラムの学習の最初では深く考えてはいけません。そんなもんなのです。

    ちょっとずつブログ書く時間が増えてきている


    コレはまずい。
    このブログ書きに1時間半ぐらいかかってる・・・
    最初は10分ぐらいだったので、あまり時間かけると書くのが嫌になるので
    ちょっとずつチビチビ書いていきます。

    さてさて今日はここまで!
    いやぁ集合型すごい・・・

    ★Python の記事一覧★
    ▼この記事を読んだ方は、こんな記事も読んでいます。▼

    スポンサードリンク

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバック URL
    http://dalmore.blog7.fc2.com/tb.php/169-d6189e13
    この記事にトラックバックする(FC2ブログユーザー)

    FC2Ad