セット
Python のセットは他の言語と似ています。これは順序付けられていない、反復しない要素のセットです。その基本機能には、関係のテストと重複要素の削除が含まれます。 Set は dict に似ていますが、set は値を保存しません。
1. セットの作成
セットを作成するには、入力セットとしてリストを指定する必要があります
set1=set([123,456,789]) print(set1)
出力結果:
{456, 123, 789}
渡されたパラメータ [123,456,789] はリストであり、表示される {456, 123, 789} は、このセット内に 3 つの要素 456, 123, 789 があることを示しています。表示の順序はパラメータのリストと同じです。要素の順序が一貫していません。これは、セットが順序付けられていないことも示しています。
もう 1 つ、出力結果が中括弧内にあることがわかります。前回の学習により、タプル (tuple) は括弧を使用し、リスト (list) は角括弧を使用し、dict (辞書) は中括弧を使用していることがわかります。 dict はキーと値のペアを保存するのに対し、set はキー値のみを保存するものとして理解できる点を除いて、dict も順序付けされていません。
dict (辞書) を作成するとき、重複したキーがあり、後続のキーと値の値によって上書きされ、重複した要素はセット内で自動的にフィルターされることを思い出してください。
set1=set([123,456,789,123,123]) print(set1)
出力結果:
{456, 123, 789}
2. set への要素の追加
要素は、add(key) メソッドを通じてセットに追加できます。繰り返し可能です 追加されましたが、効果はありません
set1=set([123,456,789]) print(set1) set1.add(100) print(set1) set1.add(100) print(set1)
出力結果:
{456, 123, 789} {456, 123, 100, 789} {456, 123, 100, 789}
3. Set delete element
セットは次のとおりです。 Remove(key) メソッドで削除された
set1=set([123,456,789]) print(set1) set1.remove(456) print(set1)
の要素 出力結果:
{456, 123, 789} {123, 789}
4. set の適用
set は順序なしセットであるため非繰り返し要素の場合、2 つのセットは数学的な意味で和集合、積集合、差分などの演算を実行できます。
例:
set1=set('hello') set2=set(['p','y','y','h','o','n']) print(set1) print(set2) # 交集 (求两个 set 集合中相同的元素) set3=set1 & set2 print('\n交集 set3:') print(set3) # 并集 (合并两个 set 集合的元素并去除重复的值) set4=set1 | set2 print('\n并集 set4:') print(set4) # 差集 set5=set1 - set2 set6=set2 - set1 print('\n差集 set5:') print(set5) print('\n差集 set6:') print( set6) # 去除海量列表里重复元素,用 hash 来解决也行,只不过感觉在性能上不是很高,用 set 解决还是很不错的 list1 = [111,222,333,444,111,222,333,444,555,666] set7=set(list1) print('\n去除列表里重复元素 set7:') print(set7)
実行結果:
{'h', 'l', 'e', 'o'} {'h', 'n', 'o', 'y', 'p'} 交集 set3: {'h', 'o'} 并集 set4: {'h', 'p', 'n', 'e', 'o', 'y', 'l'} 差集 set5: {'l', 'e'} 差集 set6: {'p', 'y', 'n'} 去除列表里重复元素 set7: {555, 333, 111, 666, 444, 222}