Pythonでの集合の詳細チュートリアル!


一、pythonのセット:
集合とは何か.
コレクション:python言語で提供される組み込みデータ構造は、リスト辞書と同様に可変タイプに属するシーケンスコレクションvalueのない辞書です.
1.コードは次のとおりです.
例:


print('---------  {}------------')
s1={
     1,2,3,1,2,4,5,}
print(s1)#           

print('---------------  set()      ---------------------------')
s2 = set(range(6))
print(s2)
print(set([3, 4, 5, 44]))
print(set((3, 4, 55,)))
print(set('python'))
print(set({
     11, 22, 33}))
print(set())

print('-------------------in/not in-------------------')
s3={
     10,20,30,40}
print(10 in s3)
print(100 not in s3)
print('--------------         -----------------------')
s3.add(88)
print(s3)
s3.update({
     200,300,400})
print(s3)
s3.update([111,222,333])
s3.update((999,888,777))
print(s3)

print('-----------------         ---------------------------')
s3.remove(111)
print(s3)
# s3.remove(1000000)                
s3.discard(100000)#             
print(s3)
s3.pop()#        ,      
print(s3)
s3.clear()#    
print(s3)
print('----------          ---------------')
s4={
     11,22,33,44}
s5={
     22,33,44,11}
print(s4==s5)
print(s4!=s5)
print('-------------               --------------------')
s44={
     10,20,30,40,50,60}
s444={
     10,20,30}
s4444={
     10,100}
print(s444.issubset(s44))
print(s4444.issubset(s44))
print('-------------               --------------------')
print(s44.issuperset(s444))
print(s44.issuperset(s4444))
print('---------------            ------------------')
print(s444.isdisjoint(s4444))
s55={
     100,200,300}
s555={
     10,20,30,}
print(s55.isdisjoint(s555))

print('                                 ')
print('--------------  -----------------')
s6={
     10,20,30,40}
s66={
     30,40,50,60}
print(s6.intersection(s66))
print(s6 & s66)

print('---------------  ------------------')
print(s6.union(s66))
print(s6|s66)
print('---------------  ------------------')
print(s6.difference(s66))
print(s6-s66)
print('---------------    ------------------')
print(s6.symmetric_difference(s66))
print(s6^s66)

print('------------------------     ------------------')
#     :
print('                    :       ')
lst=[i*i for i in range(10)]
print(lst)
#     :
print('                       :           ')
s7={
      i*i for i in range(10)}
print(s7)

2.実行結果:
例:
---------  {
     }------------
{
     1, 2, 3, 4, 5}
---------------  set()      ---------------------------
{
     0, 1, 2, 3, 4, 5}
{
     3, 4, 5, 44}
{
     3, 4, 55}
{
     'o', 't', 'p', 'y', 'n', 'h'}
{
     33, 11, 22}
set()
-------------------in/not in-------------------
True
True
--------------         -----------------------
{
     40, 10, 20, 88, 30}
{
     40, 200, 10, 300, 400, 20, 88, 30}
{
     999, 40, 200, 10, 777, 300, 333, 111, 400, 20, 888, 88, 222, 30}
-----------------         ---------------------------
{
     999, 40, 200, 10, 777, 300, 333, 400, 20, 888, 88, 222, 30}
{
     999, 40, 200, 10, 777, 300, 333, 400, 20, 888, 88, 222, 30}
{
     40, 200, 10, 777, 300, 333, 400, 20, 888, 88, 222, 30}
set()
----------          ---------------
True
False
-------------               --------------------
True
False
-------------               --------------------
True
False
---------------            ------------------
False
True
                                 
--------------  -----------------
{
     40, 30}
{
     40, 30}
---------------  ------------------
{
     40, 10, 50, 20, 60, 30}
{
     40, 10, 50, 20, 60, 30}
---------------  ------------------
{
     10, 20}
{
     10, 20}
---------------    ------------------
{
     10, 50, 20, 60}
{
     10, 50, 20, 60}
------------------------     ------------------[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]{
     0, 1, 64, 4, 36, 9, 16, 49, 81, 25}

     ,    0



まとめ:
ヒント:ここでは、文章をまとめます.
                          :
               {}
                 s={‘python’,‘hello’,90}

                    set()
                  s=set(range(6))
                  print(s)
                  print(set([3,4,5,44]))
                  print(set((3,4,55,)))
                  print(set('python'))
                  print(set({11,22,33}))
                  print(set())

           :

            :
                in/not in
            :
                add()               
                update()          
            :
              remove()               ,             keyerror
              discard()  ,          ,          ,     
              pop()                     
              clear                 

      :
           
                ==  !=    
                   
                    issuperset    
          A B   
                   
                issuperset    
          A B   
              
              isdisjoint                 true,  false

         print('                                 ')
         print('--------------  -----------------')
         s6={10,20,30,40}
         s66={30,40,50,60}
         print(s6.intersection(s66))
         print(s6 & s66)

         print('---------------  ------------------')
         print(s6.union(s66))
         print(s6|s66)
         print('---------------  ------------------')
         print(s6.difference(s66))
         print(s6-s66)
         print('---------------    ------------------')
         print(s6.symmetric_difference(s66))
         print(s6^s66)

          :
        {i*i for i in range(1,10)}
          {}  []