[Python-Dev] Unordered tuples/lists (original) (raw)
Guido van Rossum guido at python.org
Wed May 19 01:11:58 CEST 2010
- Previous message: [Python-Dev] Unordered tuples/lists
- Next message: [Python-Dev] Unordered tuples/lists
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This is typically called a "bag". Maybe searching for that will help you find a recipe?
On Tue, May 18, 2010 at 3:13 PM, Gustavo Narea <me at gustavonarea.net> wrote:
Hello, everybody.
I've been searching for a data structure like a tuple/list but unordered -- like a set, but duplicated elements shouldn't be removed. I have not even found a recipe, so I'd like to write an implementation and contribute it to the "collections" module in the standard library. This is the situation I have: I have a data structure that represents an arithmetic/boolean operation. Operations can be commutative, which means that the order of their operands don't change the result of the operation. This is, the following operations are equivalent: operation(a, b, c) == operation(c, b, a) == operation(b, a, c) operation(a, b, a) == operation(a, a, b) == operation(b, a, a) operation(a, a) == operation(a, a) So, I need a type to store the arguments/operands so that if two of these collections have the same elements with the same multiplicity, they are equivalent, regardless of the order. A multiset is not exactly what I need: I still need to use the elements in the order they were given. For example, the logical conjuction (aka "and" operator) has a left and right operands; I need to evaluate the first/left one and, if it returned True, then call the second/right one. They must not be evaluated in a random order. To sum up, it would behave like a tuple or a list, except when it's compared with another object: They would be equivalent if they're both unordered tuples/lists, and have the same elements. There can be mutable and immutable editions (UnorderedList and UnorderedTuple, respectively). I will write a PEP to elaborate on this if you think it'd be nice to have. Or, should I have written the PEP first? Cheers, -- Gustavo Narea <xri://=Gustavo>. | Tech blog: =Gustavo/(+blog)/tech ~ About me: =Gustavo/about |
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org
-- --Guido van Rossum (python.org/~guido)
- Previous message: [Python-Dev] Unordered tuples/lists
- Next message: [Python-Dev] Unordered tuples/lists
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]