Mapping, with sequence as key, wildcard and subsequence matching
Ben Finney
ben+python at benfinney.id.au
Thu Jul 16 01:53:21 EDT 2015
Steven D'Aprano <steve at pearwood.info> writes:
> Sounds like a regular expression. Remember that computer science
> theoretical regular expressions don't just match strings, they can
> apply to any sequence of primitive values.
Good insight, thank you.
> In your case, you only need two special tokens, match-one and
> match-one-or-more (which may be like r'.' and r'.*').
It actually needs “one” and “zero-or-more”. Which does match your
analogous regex ‘.’ and ‘.*’ patterns.
> Otherwise, you can create your own sequence type and simple regex
> engine (you only need two meta-items, [ONE and ZERO-OR-MORE]) to
> perform equality tests.
It may have to come to that. That's not such a problem, but:
> You can't use a dict for the mapping, not unless you're smarter than
> me, due to the requirement to hash the keys.
Dang. It's the mapping that I really need to solve, I think. A mapping
that has a custom “does this candidate match any existing key” and
“return the value for this key” to defer to the matching behaviour
described above.
Are those the ‘__contains__’, ‘__getitem__’ methods? What actually is
the API of a mapping type, that would need to be customised for this
application?
--
\ “If we listen only to those who are like us, we will squander |
`\ the great opportunity before us: To live together peacefully in |
_o__) a world of unresolved differences.” —David Weinberger |
Ben Finney
More information about the Python-list
mailing list