目次

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')