リストのsortは注意が必要だと気づく

0と-1からなるリストがあって、そのリストに-1が含まれる場合には、なんらかの処理を行う必要があるとする。
例えば、flist = [0, -1, 0, 0] のようなリストがある。
最初にやっていたこと。

tmp = flist
tmp.sort()
if tmp[0] == -1: # -1を含む場合の処理
  ...
else:             # 0だけからなるときの処理
  ...

これだと、条件判定はきちんとできるのだが、sortした後だと、flist=[-1, 0, 0, 0]になってしまう。一時的にtmpにリストを代入して順番を変えたいだけだったのに、flistの方もsortされたリストになってしまう。代入だと紐づけられているのだな。
これではまずいので、

if any(flist): # -1を含む場合の処理
  ...
else:       # 0だけからなるときの処理
  ...

と直した。これの方がいいよな。