軟體開發讓你反思人生。人生充滿選擇。選擇看似是取我們所要的，但其實也是避免我們不要的。這不是我們在寫程式的時候一直在作的事情嗎？沒有寫出來的部分，才是精妙之處。

Python 內建兩個序列 (sequence) 容器: tuple 與 list。tuple 只能在創建的時候設元素值與長度，稱為不可變序列容器 (immutable sequence container)。list 隨時可設元素值與增減元素，稱為可變序列容器 (mutable sequence container)。使用 tuple 而非 list，表示我們選擇要一個有序可索引的容器，同時也選擇「不要」改變容器內容和長度。不可變容器可以避免因為意外改變所產生的程式錯誤，是設計資料存取介面時常用的手段。

選用 tuple 也表明這段程式在處理流程控制用的資料，而不是計算的輸出入資料。計算的輸出入資料容量龐大，也需要大量計算時間，因此會以同質型態 (homogeneous type) 的陣列 (array) 存放。tuple 允許異質型態 (heterogeneous type)，會造成額外的耗費 (overhead)，因此不適合處理大量資料。