On 7/15/2015 9:51 PM, Ben Finney wrote:
Howdy all,

What well-defined data type exists with the following properties:

* Mapping, key → value.

* Each key is a sequence (e.g. `tuple`) of items such as text strings.

* Items in a key may be the sentinel `ANY` value, which will match any
   value at that position.

* A key may specify that it will match *only* sequences of the same
   length.

* A key may specify that it will match sequences with arbitrarily many
   additional unspecified items.

Every key should signal which of the last two alterntives holds. One can be a default. The signal can be 'in-band', in the tuple key itself, or 'out-of-band', not in the tuple key. An in-band signal must be a special value, like 'ANY', that is not otherwise used in keys. ... might be a good choice. For out-of-band, you could try a tuple subclass with a __new__ method that sets an attribute. Or wrap a tuple, say with a list, to signal the non-default alternative. Something like

    tail = False
    if type(key) is list:
        tail = True
        key = key.pop()

--
Terry Jan Reedy


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to