あなたは言う
Pythonはリストからタプルへの型変換を自動的に行っているようです
それは疑わしいです。リストとタプルはどちらもシーケンスタイプであるため、どちらも同じ動作の多くを実装します。使用しているGUIライブラリは、リストのみの動作を必要としないようにする必要があります。
多くの場合、これを行うのはおそらく問題ありませんが、リストはタプルよりも少し多くのスペースを占めることに注意してください。
>>> sys.getsizeof((1, 2))
72
>>> sys.getsizeof([1, 2])
88
また、いくつかの点でタプルよりも遅い場合があります。
>>> lst, tup = [1, 2], (1, 2)
>>> def unpack(x):
... a, b = x
...
>>> %timeit unpack(tup)
10000000 loops, best of 3: 163 ns per loop
>>> %timeit unpack(lst)
10000000 loops, best of 3: 172 ns per loop
これらは非常に小さな違いであり、数十億の呼び出しのように、はるかに大きなスケールに到達するまで問題にはならないため、トレードオフはそれだけの価値があります。
それでも、私は人々がこれを頻繁に行うのを見ません。読みやすさのトリックのように思えますが、状況によっては予期しない結果が生じる可能性があります。たとえば、後で再度使用する予定のリストを渡す場合は、関数内で変更しないように注意する必要があります。最後に、JFセバスティアンが正しく指摘しているように、タプルとリストはわずかに異なることを意味する傾向があります。型にはまらない方法でそれらを使用すると、求めている読みやすさの向上が無効になる可能性があります。