回答編集履歴
1
a
    
        answer	
    CHANGED
    
    | 
         @@ -45,4 +45,25 @@ 
     | 
|
| 
       45 
45 
     | 
    
         | 
| 
       46 
46 
     | 
    
         
             
            ```
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
     | 
    
         
            -
            
         
     | 
| 
      
 48 
     | 
    
         
            +
            
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            ## 追記
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            標準ライブラリのみを使った隣接リスト作成の例
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            ```python
         
     | 
| 
      
 55 
     | 
    
         
            +
            edges = [(1, 2), (2, 1), (1, 4), (4, 1), (2, 4), (4, 2),
         
     | 
| 
      
 56 
     | 
    
         
            +
                     (4, 3), (3, 4), (4, 5), (5, 4), (3, 5), (5, 3)]
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            adj_list = {}
         
     | 
| 
      
 59 
     | 
    
         
            +
            from itertools import groupby
         
     | 
| 
      
 60 
     | 
    
         
            +
            for key, group in groupby(sorted(edges), key=lambda x: x[0]):
         
     | 
| 
      
 61 
     | 
    
         
            +
                conn_to = [g[1] for g in group]  # edge=key が接続しているノード一覧
         
     | 
| 
      
 62 
     | 
    
         
            +
                adj_list[key] = conn_to
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            print(adj_list)
         
     | 
| 
      
 65 
     | 
    
         
            +
            ```
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            ```
         
     | 
| 
      
 68 
     | 
    
         
            +
            {1: [2, 4], 2: [1, 4], 3: [4, 5], 4: [1, 2, 3, 5], 5: [3, 4]}
         
     | 
| 
      
 69 
     | 
    
         
            +
            ```
         
     |