On Wed, 6 May 2020 at 01:41, Greg Ewing
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.
I don't think that is accurate to represent as a representation of "a mathematician". The top voted answer here disagrees: https://math.stackexchange.com/questions/122595/whats-the-difference-between... "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.