Pythonでは、次のようにリストを変更できます。
In [303]: x = [1,2,3,4,5,6]
In [304]: x[x <= 3]+=3
In [305]: x
Out[306]: [4, 2, 3, 4, 5, 6]
これについては以前から知っていましたが、舞台裏で何が起こっているのか完全には理解していないと思います。誰かが説明する時間を見つけたら、私は感謝します。
In [307]: x = [1,2,3,4,5,6]
In [308]: dis.dis('x[x <= 3]+=3')
0 SETUP_LOOP 30811 (to 30814)
3 SLICE+2
4 STORE_SUBSCR
5 DELETE_SUBSCR
6 SLICE+2
7 DELETE_SLICE+1
8 FOR_ITER 15659 (to 15670)
11 DELETE_SLICE+1
In [309]: x
Out[309]: [1, 2, 3, 4, 5, 6]
In [310]: x[x <= 3]+=3
In [311]: x
Out[311]: [4, 2, 3, 4, 5, 6]
In [312]: x<=3
Out[312]: False
In [313]: x[False]+=3
In [314]: x
Out[314]: [7, 2, 3, 4, 5, 6]