==== set ==== コンストラクタはset。括弧{}でも生成できる。 setに関する演算子やメソッドは、イテラブルを引数に持てる。内部的には、コンストラクタsetでラップしている実装かもしれない。 a = [[1, 2], [2, 1], [1, 3], [3, 1], [3, 4]] b = set([a[i][0] for i in range(len(a))]) print(b) S = set(('Head', 'Tail')) print(S) S = set(('Head', 'Head', 'Tail')) print(S) print(type(S)) print(len(S)) S.add('Lost') print(S) S.discard('Win') S.remove('Win') S.pop() S.add('Tail') print(S) S_1 = {'Tail'} S_2 = {'Head'} print(S_1 | S_2) S = S_1 S = S_1.union(S_2) print(S) print(S_1) print(S_2) G_1 = {'A', 'B', 'C', 'D', 'E', 'F', 'G'} G_2 = {'A', 'B', 'D', 'F', 'G', 'H', 'I'} print(G_1) print(G_2) print(G_1 | G_2) print(G_1.union(G_2)) print(G_1 & G_2) print(G_1.intersection(G_2)) print(G_1 - G_2) print(G_1.difference(G_2)) print(G_1 ^ G_2) print(G_1.symmetric_difference(G_2)) print(G_1 <= G_2) print(G_2.issubset(G_1)) print(G_1 < G_2) print(G_1 >= G_2) print(G_2.issuperset(G_1)) print(G_1 > G_2) print(G_2.isdisjoint(G_1)) タプルがイミュータブル(不変、変更不可能)なリストとみなせるように、イミュータブルな集合も作れる。コンストラクタはfrozenset。 G_3 = frozenset(['A', 'B', 'C']) G_3.add('D')