python 3-コレクション


#Auther:Aaron Fan'''集合は無秩序で、重複しないデータの組み合わせであり、その主な役割は以下の通りである:重さを除去し、1つのリストを集合に変えると、自動的に関係テストを重させ、2つのグループのデータの前の交差、差セット、並列セットなどの関係をテストする'''list_1=[1,3,4,7,3,6,7,9]#デリバリーリスト_1 = set(list_1)list_2 = set([2,6,0,66,22,8,4])list_3=set([1,3,7])print(list_1)print(list_2)print(list_3)print("-----------------------------")#関係テスト#交差(2つのリストにある値、ここでは4,6):print(list_1.intersection(list_2))#並列セット(2つの列を結合してから重み付け):print(list_1.union(list_2)))#差分セット(list_1にあるlist_2にないものを取り出す):print(list_1.difference(list_2)#対称差分セット(2つのリストの中で、互いにないものを取り出し、つまり互いにある値だけを取り除く)print(list_1.symmetric_difference(list_2)))#サブセット(list_1がlist_3の中のすべての値を含んでいるか否かを判断する)print(list_3.issubset(list_1))))#親セット(list_1がlist_3の親セットであるか否かを判断する)print(list_1.issuperset(list_3)#交差なし(list_3とlist_4が完全に交差していないかどうかを判断する)list_4=set([5,6,8])print(list_3.isdisjoint(list_4))------------------------関係テストの別の書き方:''s=set([3,5,9,10])#数値集合t=set("Hello")#一意の文字の集合a=t|s#tとsの並列セットb=t&s#tとsの交差c=t-s#求差セットを作成(アイテムはtにありますが、sにはありません)d=t^s#対称差分セット(アイテムはtまたはsにありますが、両方には表示されません)基本操作:t.add('x')#s.update([10,37,42])#sに複数追加remove()を使用して1つを削除できます:t.remove('H')#があれば削除します.t.pop()#ランダムにt.discard('H')#をポップアップしないで削除します.len(s)setの長さx in sテストxがsのメンバーであるか否かx not in sテストxがsのメンバーでないか否かs.issubset(t)s<=tテストsの各要素がtのs.issuperset(t)s>=tテストtの各要素がsのs.union(t)s|tで新しいsetがsとtの各要素を含むs.intersection(t)を返すs&tは、sとtの共通要素を含む新しいsetを返しますs.difference(t)s-tは、sにはあるがtにはない要素を含む新しいsetを返しますs.symmetric_difference(t)s^tは、sとtの重複しない要素s.copy()を含む新しいsetを返し、set「s」の浅いコピー'''を返します.