On 6/05/20 2:22 am, jdveiga@gmail.com wrote:
> However, if sets and frozensets are "are considered to be
> fundamentally the same kind of thing differentiated by mutability",
> as you said, why not tuples and lists?
I think that can be answered by looking at the mathematical
heritage of the types involved:
Python Mathematics
------ -----------
set set
frozenset set
tuple tuple
list sequence
To a mathematician, however, tuples and sequences are very
different things. Python treating tuples as sequences is a
"practicality beats purity" kind of thing, not to be expected
from a mathematical point of view.
"A sequence requires each element to be of the same type.
A tuple can have elements with different types."
The common usage for both is: you have a tuple of (Z, +) representing the Abelian group of addition (+) on the integers (Z), whereas you have the sequence {1/n}_{n \in N} converging to 0 in the space Q^N (rational infinite sequences) for example.
I'd say the difference is just one of semantics and as a mathematician I would consider tuples and sequences as "isomorphic", in fact, the set-theoretical construction of tuples as functions is *identical* to the usual definition of sequences: i.e. they are just two interpretations of the the same object depending on your point of view.