Python3.5セットとその一般的な演算例の詳細
6650 ワード
この例ではPython 3について述べる.5セットとその一般的な演算.皆さんの参考にしてください.具体的には以下の通りです.
1、集合の定義:集合は無秩序で重複のないデータのデータの組み合わせである.
2、集合の特徴:
(1)重複要素の除去:1つのリストを集合にすることで重さ除去を実現する.
(2)テスト関係:2組のデータ間の交差、並列、差分などの関係をテストする.
3、集合のよく使う操作:
(1)繰り返し:リストを集合に、形式:集合=set(リスト)
実行結果:
{1, 3, 5, 6, 8, 9}
(2)二つの集合の交差をテストする――形式はprint((集合1).intersection(集合2))またはprint(集合1&集合2)
実行結果:
{1, 3, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} {8, 9, 5, 6}
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {8, 9, 2, 5, 6}
(3)2つの集合の並列集合をテストする(2つの集合を結合して重複要素を除去する)――形式はprint((集合1).union(集合2))または集合1|集合2
実行結果:
{1, 3, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} {1, 2, 3, 4, 5, 6, 8, 9}
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {0, 1, 2, 3, 4, 5, 6, 8, 9}
(4)二つの集合をテストする差集合――形式はprint((集合1).difference(集合2))またはprint((集合2).difference(集合1))
実行結果:
{1, 3, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} {1, 3} {2, 4}
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {1, 3, 4} {0}
(5)ある集合が別の集合のサブセットであるかどうかをテストする――形式はprint(集合1.issubset(集合2))またはprint(集合2.issubset(集合1))である.
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} False True
(6)ある集合が別の集合の親であるかどうかをテストする――形式はprint(集合1.issuperset(集合2))またはprint(集合2.issuperset(集合1))である.
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} True False
(7)2つの集合をテストする対称差集合――形式はprint(集合1.symmetric_difference(集合2))またはprint(集合1^集合2)である.
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {65, 3, 4, 5, 8, 9, 22} {65, 1, 22, 2, 6}
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {0, 1, 3, 4}
(8)2つの集合の交差をテストし、交差がなくてTrueを返す.交差がある場合はFalseを返します.形式はprint(集合1.isdisjoint(集合2))です.
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 65, 10, 81, 54, 22} True
(9)集合に要素を追加する――呼び出し:コンテンツを追加する集合.add(コンテンツの追加)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {1, 2, 3, 4, 5, 6, 8, 9, 54}
(10)集合に複数の要素を追加する――呼び出し:コンテンツを追加する集合.update(コンテンツの追加)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {1, 2, 3, 4, 5, 6, 33, 8, 9, 11, 22}
(11)集合に1つの要素を削除する――呼び出し:コンテンツの集合を削除する.remove(コンテンツの削除)注意:削除された要素が存在しないとエラーが発生します
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {2, 3, 4, 5, 6, 8, 9}
コレクション内の要素を任意に削除し、削除した要素を返す――呼び出し:print(コレクション.pop()
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} 1 2 3
コレクションで指定した要素を削除します.呼び出し:コレクション.discard(要素を削除)注:削除された要素が存在しない場合はNoneが出力され、エラーは発生しません
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} None {1, 2, 4, 5, 6, 8, 9}
(12)集合の長さを求める――呼び出し:print(len(集合)))
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} 8
(13)xがsであるか否かをテストするメンバー(文字列、リスト、辞書、集合に適用)――形式:x in s xがsでないか否かをテストするメンバー(文字列、リスト、辞書、集合に適用)――形式:x noti n s
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} True True
Pythonに関する詳細について興味のある読者は、「Python関数使用テクニックまとめ」、「Pythonリスト(list)操作テクニックまとめ」、「Python辞書操作テクニックまとめ」、「Pythonデータ構造とアルゴリズムチュートリアル」、「Python文字列操作テクニックまとめ」、「Python入門と進級経典チュートリアル」を参照してください.
ここではPythonプログラムの設計に役立つことを願っています.
1、集合の定義:集合は無秩序で重複のないデータのデータの組み合わせである.
2、集合の特徴:
(1)重複要素の除去:1つのリストを集合にすることで重さ除去を実現する.
(2)テスト関係:2組のデータ間の交差、並列、差分などの関係をテストする.
3、集合のよく使う操作:
(1)繰り返し:リストを集合に、形式:集合=set(リスト)
list_1 = [1,3,5,3,6,8,9,6,8,1]
list_1 = set(list_1)
print(list_1,type(list_1))
実行結果:
{1, 3, 5, 6, 8, 9}
(2)二つの集合の交差をテストする――形式はprint((集合1).intersection(集合2))またはprint(集合1&集合2)
list_1 = [1,3,5,3,6,8,9,6,8,1]
list_1 = set(list_1) # ,
list_2 = set([2,5,4,6,8,9])
print(list_1,list_2)
print(list_1.intersection(list_2)) #
実行結果:
{1, 3, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} {8, 9, 5, 6}
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([2,5,6,8,9,0])
print(list_1,list_2)
print(list_1 & list_2) #
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {8, 9, 2, 5, 6}
(3)2つの集合の並列集合をテストする(2つの集合を結合して重複要素を除去する)――形式はprint((集合1).union(集合2))または集合1|集合2
list_1 = [1,3,5,3,6,8,9,6,8,1]
list_1 = set(list_1) # ,
list_2 = set([2,5,4,6,8,9])
print(list_1,list_2)
print(list_1.union(list_2)) #
実行結果:
{1, 3, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} {1, 2, 3, 4, 5, 6, 8, 9}
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([2,5,6,8,9,0])
print(list_1,list_2)
print(list_1 | list_2) #
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {0, 1, 2, 3, 4, 5, 6, 8, 9}
(4)二つの集合をテストする差集合――形式はprint((集合1).difference(集合2))またはprint((集合2).difference(集合1))
list_1 = [1,3,5,3,6,8,9,6,8,1]
list_1 = set(list_1) # ,
list_2 = set([2,5,4,6,8,9])
print(list_1,list_2)
print(list_1.difference(list_2)) # 1 2
print(list_2.difference(list_1)) # 2 1
実行結果:
{1, 3, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} {1, 3} {2, 4}
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([2,5,6,8,9,0])
print(list_1,list_2)
print(list_1 - list_2) # 1 2
print(list_2 - list_1) # 2 1
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {1, 3, 4} {0}
(5)ある集合が別の集合のサブセットであるかどうかをテストする――形式はprint(集合1.issubset(集合2))またはprint(集合2.issubset(集合1))である.
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([2,5,4,6,8,9])
print(list_1,list_2)
print(list_1.issubset(list_2)) # 1 2
print(list_2.issubset(list_1)) # 2 1
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} False True
(6)ある集合が別の集合の親であるかどうかをテストする――形式はprint(集合1.issuperset(集合2))またはprint(集合2.issuperset(集合1))である.
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([2,5,4,6,8,9])
print(list_1,list_2)
print(list_1.issuperset(list_2)) # 1 2
print(list_2.issuperset(list_1)) # 2 1
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {2, 4, 5, 6, 8, 9} True False
(7)2つの集合をテストする対称差集合――形式はprint(集合1.symmetric_difference(集合2))またはprint(集合1^集合2)である.
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([22,5,4,65,8,9,3])
print(list_1,list_2)
print(list_1.symmetric_difference(list_2)) # ( )
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {65, 3, 4, 5, 8, 9, 22} {65, 1, 22, 2, 6}
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([2,5,6,8,9,0])
print(list_1,list_2)
print(list_1 ^ list_2) #
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 2, 5, 6, 8, 9} {0, 1, 3, 4}
(8)2つの集合の交差をテストし、交差がなくてTrueを返す.交差がある場合はFalseを返します.形式はprint(集合1.isdisjoint(集合2))です.
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
list_2 = set([22,54,65,81,10,0])
print(list_1,list_2)
print(list_1.isdisjoint(list_2)) # True
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {0, 65, 10, 81, 54, 22} True
(9)集合に要素を追加する――呼び出し:コンテンツを追加する集合.add(コンテンツの追加)
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
list_1.add(54) #
print(list_1)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {1, 2, 3, 4, 5, 6, 8, 9, 54}
(10)集合に複数の要素を追加する――呼び出し:コンテンツを追加する集合.update(コンテンツの追加)
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
list_1.update([11,22,33])
print(list_1)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {1, 2, 3, 4, 5, 6, 33, 8, 9, 11, 22}
(11)集合に1つの要素を削除する――呼び出し:コンテンツの集合を削除する.remove(コンテンツの削除)注意:削除された要素が存在しないとエラーが発生します
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
list_1.remove(1)
print(list_1)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} {2, 3, 4, 5, 6, 8, 9}
コレクション内の要素を任意に削除し、削除した要素を返す――呼び出し:print(コレクション.pop()
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
print(list_1.pop())
print(list_1.pop())
print(list_1.pop())
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} 1 2 3
コレクションで指定した要素を削除します.呼び出し:コレクション.discard(要素を削除)注:削除された要素が存在しない場合はNoneが出力され、エラーは発生しません
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
print(list_1.discard(23))
list_1.discard(3)
print(list_1)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} None {1, 2, 4, 5, 6, 8, 9}
(12)集合の長さを求める――呼び出し:print(len(集合)))
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
print(len(list_1))
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} 8
(13)xがsであるか否かをテストするメンバー(文字列、リスト、辞書、集合に適用)――形式:x in s xがsでないか否かをテストするメンバー(文字列、リスト、辞書、集合に適用)――形式:x noti n s
list_1 = [1,3,5,2,6,8,9,6,8,4]
list_1 = set(list_1) # ,
print(list_1)
print(3 in list_1)
print(7 not in list_1)
実行結果:
{1, 2, 3, 4, 5, 6, 8, 9} True True
Pythonに関する詳細について興味のある読者は、「Python関数使用テクニックまとめ」、「Pythonリスト(list)操作テクニックまとめ」、「Python辞書操作テクニックまとめ」、「Pythonデータ構造とアルゴリズムチュートリアル」、「Python文字列操作テクニックまとめ」、「Python入門と進級経典チュートリアル」を参照してください.
ここではPythonプログラムの設計に役立つことを願っています.