回答編集履歴
3
追記
    
        answer	
    CHANGED
    
    | 
         @@ -1,3 +1,6 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            関数定義していることは、今回の問題には関係無いです。
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ---
         
     | 
| 
       1 
4 
     | 
    
         
             
            valは確かにarglistの一要素ではありますが、valへの代入がarglistに影響することはありません。※
         
     | 
| 
       2 
5 
     | 
    
         
             
            次のコードでarrが[42, 1, 4]にならないのと同じ理由です。
         
     | 
| 
       3 
6 
     | 
    
         
             
            ```Python
         
     | 
| 
         @@ -47,4 +50,12 @@ 
     | 
|
| 
       47 
50 
     | 
    
         
             
            b += [4, 5, 6]
         
     | 
| 
       48 
51 
     | 
    
         | 
| 
       49 
52 
     | 
    
         
             
            print(a, b)  # => [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6]
         
     | 
| 
       50 
     | 
    
         
            -
            ```
         
     | 
| 
      
 53 
     | 
    
         
            +
            ```
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            コードの貼り方について
         
     | 
| 
      
 56 
     | 
    
         
            +
            ---
         
     | 
| 
      
 57 
     | 
    
         
            +
            teratailには、コードを見やすく表示する機能があります。
         
     | 
| 
      
 58 
     | 
    
         
            +
            質問編集画面を開き、コードを選択した状態で<code>ボタンを押して下さい。
         
     | 
| 
      
 59 
     | 
    
         
            +
            
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。
         
     | 
2
修正
    
        answer	
    CHANGED
    
    | 
         @@ -27,9 +27,24 @@ 
     | 
|
| 
       27 
27 
     | 
    
         
             
                    arr[i] = ???
         
     | 
| 
       28 
28 
     | 
    
         
             
            ```
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
      
 30 
     | 
    
         
            +
            **※** ちょっとややこしい話 
         
     | 
| 
       30 
31 
     | 
    
         
             
            ---
         
     | 
| 
       31 
     | 
    
         
            -
            **※** 
         
     | 
| 
       32 
32 
     | 
    
         
             
            a += b と書いたとき、
         
     | 
| 
       33 
     | 
    
         
            -
            aの型に依ってはインプレースに操作が行われ 
     | 
| 
      
 33 
     | 
    
         
            +
            aの型に依ってはインプレースに操作が行われ、当然元のリストにも影響します。
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
            Pythonにおいては、a += b と a = a + b の意味が異なることがあります。
         
     | 
| 
      
 35 
     | 
    
         
            +
            Pythonにおいては、a += b と a = a + b の意味が異なることがあります。
         
     | 
| 
      
 36 
     | 
    
         
            +
            ```Python
         
     | 
| 
      
 37 
     | 
    
         
            +
            a = [1, 2, 3]
         
     | 
| 
      
 38 
     | 
    
         
            +
            b = a
         
     | 
| 
      
 39 
     | 
    
         
            +
            b = b + [4, 5, 6]
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            print(a, b)  # => [1, 2, 3] [1, 2, 3, 4, 5, 6]
         
     | 
| 
      
 42 
     | 
    
         
            +
            ```
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            ```Python
         
     | 
| 
      
 45 
     | 
    
         
            +
            a = [1, 2, 3]
         
     | 
| 
      
 46 
     | 
    
         
            +
            b = a
         
     | 
| 
      
 47 
     | 
    
         
            +
            b += [4, 5, 6]
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            print(a, b)  # => [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6]
         
     | 
| 
      
 50 
     | 
    
         
            +
            ```
         
     | 
1
追記
    
        answer	
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            valは確かにarglistの一要素ではありますが、valへの代入がarglistに影響することはありません。
         
     | 
| 
      
 1 
     | 
    
         
            +
            valは確かにarglistの一要素ではありますが、valへの代入がarglistに影響することはありません。※
         
     | 
| 
       2 
2 
     | 
    
         
             
            次のコードでarrが[42, 1, 4]にならないのと同じ理由です。
         
     | 
| 
       3 
3 
     | 
    
         
             
            ```Python
         
     | 
| 
       4 
4 
     | 
    
         
             
            arr = [3, 1, 4]
         
     | 
| 
         @@ -25,4 +25,11 @@ 
     | 
|
| 
       25 
25 
     | 
    
         
             
            for i, e in enumerate(arr):
         
     | 
| 
       26 
26 
     | 
    
         
             
                if e == ???:
         
     | 
| 
       27 
27 
     | 
    
         
             
                    arr[i] = ???
         
     | 
| 
       28 
     | 
    
         
            -
            ```
         
     | 
| 
      
 28 
     | 
    
         
            +
            ```
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            ---
         
     | 
| 
      
 31 
     | 
    
         
            +
            **※** 
         
     | 
| 
      
 32 
     | 
    
         
            +
            a += b と書いたとき、
         
     | 
| 
      
 33 
     | 
    
         
            +
            aの型に依ってはインプレースに操作が行われることがあり、元のリストに影響します。
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            Pythonにおいては、a += b と a = a + b の意味が異なることがあります。
         
     |