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])
「組み込み型」への1件のフィードバック