一个经常被问道的问题,“为什么要区分列表和元组变量”,也可以被表述为我们真的需要两个序列类型吗?一个原因是在有些情况下,使用其中的一种类型要优于另外一种类型。
最好使用不可变类型变量的一种情况是,如果你在维护一些敏感数据,并且需要把这些数据传递给一个你不了解的函数,作为一个软件只负责某一部分的工程师,如果你确信你的数据不被调用的函数篡改,你会放心很多。
一个需要可变类型参数的例子是,在管理动态数据集合时,你需要先把他们创建出来,逐渐的或者不定期的添加他们,或者有时还需要一处一些单个元素,这是一个必须使用可变类型对象的典型例子。
幸运的是,通过内建函数list()和tuple(),可以轻松的在两者之间转换。