How to rearrange array using Python?

Martin Schöön martin.schoon at gmail.com
Wed Oct 21 14:47:24 EDT 2015


Den 2015年10月20日 skrev Ian Kelly <ian.g.kelly at gmail.com>:
>>>> Anyone into CSP willing to offer me a hint?
>> I assume that your variables are the individuals and the domains of
> those variables are the rooms. Based on the python-constraint docs,
> your constraint could look something like this:
>> from collections import Counter
>> ROOM_SIZE = {
> 'A': 3,
> 'B': 3,
> 'C': 4,
> 'D': 4,
> 'E': 5,
> }
>> def room_size_constraint(*v):
> counter = Counter(v.values())
> return all(count <= ROOM_SIZE[room]
> for room, count in counter.items())
>> problem.addConstraint(room_size_constraint)

Bingo!
Just what I needed but didn't know where to look for. Now I 'only' have
to read
https://docs.python.org/dev/library/collections.html#counter-objects
to understand what's really going on in the code :-)
Then I will try less benign examples.
/Martin


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /