組み込み型

Pythonには次の組み込み型がある。

  • 整数
  • 浮動小数点
  • 文字列
  • ユニコード文字列
  • リスト
  • タプル
  • 辞書(ディクショナリ)
  • set(集合)
  • bool(真偽値)

文字列とユニコード文字列の違いはそのうち。リストはRubyで言う配列、辞書はハッシュだと思えばよさそう。タプルはHaskellにもあるタプルだよね。

boolにはTrueとFalseがある。

で、面白いのはsetという型があること。これはちょっと珍しいと思う。少なくともRubyにもPerlにもHaskellにも(標準では)ない。

set型はset()関数で作れる。

>>> s1 = set([1,2,3,4,5])
>>> s2 = set([4,5,6,7,8])
>>> s1
set([1, 2, 3, 4, 5])
>>> s2
set([8, 4, 5, 6, 7])

set型のメソッドをいくつか:

和集合

>>> s1.union(s2)
set([1, 2, 3, 4, 5, 6, 7, 8])

共通集合

>>> s1.intersection(s2)
set([4, 5])

差集合

>>> s1.difference(s2)
set([1, 2, 3])

対照的差集合(どちらか一方に含まれるもの)

>>> s1.symmetric_difference(s2)
set([1, 2, 3, 6, 7, 8])

演算子もある:

>>> s1 | s2
set([1, 2, 3, 4, 5, 6, 7, 8])
>>> s1 & s2
set([4, 5])
>>> s1 - s2
set([1, 2, 3])
>>> s1 ^ s2
set([1, 2, 3, 6, 7, 8])

上の操作では、s1、s2そのものは変化しない。

>>> s1
set([1, 2, 3, 4, 5])
>>> s2
set([8, 4, 5, 6, 7])
カテゴリー: Python パーマリンク

1 Response to 組み込み型

  1. ピンバック: set | blog.PanicBlanket.com

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください