我看到了與特定編程語言相關的現有問題。在特定語言中存在實現差異,但是理論上存在概念上的差異嗎?列表和元組有區別嗎?
可變與不可變:在Python中,列表是完全可變的,而元組是不可變的或持久不變的,所以修改會創建新的元組並且不會在原地進行修改。但這純粹是一個實現細節。在其他語言中,元組是可變的,列表是不可變的。
異構vs齊性:語義上,元組通常是異構的,而列表通常是同構的,但這更多的是一種約定,並且有許多例外。像Python這樣的動態類型語言具有異構列表。例如,Haskell支持完全靜態類型的稱爲HList的異構列表。
有限與無限:理論上,列表可以是無限的,並且一些編程語言(Haskell)支持無限列表。元組不能是無限的。
UPDATE:唯一的理論區別是一個元組必須是有限的,而列表在理論上可以是無限的。其餘的差異是純粹的實施差異。
維基百科說:「元組是一個有限有序的元素列表。」
這表明一個元組是一個列表,但是是一個有限列表。
在哪種語言是可變性的另一種方式? –
C++列表和元組都是可變的。 – StilesCrisis
您可能想將此問題移至http://cs.stackexchange.com/ – StilesCrisis