Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #75468 > unrolled thread

dict to boolean expression, how to?

Started byAlex van der Spek <zdoor@xs4all.nl>
First post2014-08-01 12:45 +0000
Last post2014-08-01 10:29 -0400
Articles 2 on this page of 22 — 11 participants

Back to article view | Back to comp.lang.python


Contents

  dict to boolean expression, how to? Alex van der Spek <zdoor@xs4all.nl> - 2014-08-01 12:45 +0000
    Re: dict to boolean expression, how to? Chris Angelico <rosuav@gmail.com> - 2014-08-01 23:04 +1000
    Re: dict to boolean expression, how to? Roy Smith <roy@panix.com> - 2014-08-01 09:24 -0400
    Re: dict to boolean expression, how to? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-01 13:28 +0000
      Re: dict to boolean expression, how to? Roy Smith <roy@panix.com> - 2014-08-01 09:32 -0400
        Re: dict to boolean expression, how to? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-01 15:02 +0000
          Re: dict to boolean expression, how to? Terry Reedy <tjreedy@udel.edu> - 2014-08-01 18:16 -0400
      Re: dict to boolean expression, how to? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-01 16:50 +0100
        Re: dict to boolean expression, how to? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-01 16:35 +0000
    Re: dict to boolean expression, how to? Alex van der Spek <zdoor@xs4all.nl> - 2014-08-01 14:26 +0000
      Re: dict to boolean expression, how to? marco.nawijn@colosso.nl - 2014-08-01 08:07 -0700
      Re: dict to boolean expression, how to? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-01 15:24 +0000
        Re: dict to boolean expression, how to? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-01 17:03 +0100
      Re: dict to boolean expression, how to? Peter Otten <__peter__@web.de> - 2014-08-01 17:44 +0200
        eval [was Re: dict to boolean expression, how to?] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-02 02:59 +0000
          Re: eval [was Re: dict to boolean expression, how to?] Peter Otten <__peter__@web.de> - 2014-08-02 09:43 +0200
          Re: eval [was Re: dict to boolean expression, how to?] Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-02 08:59 +0100
          Re: eval [was Re: dict to boolean expression, how to?] Duncan Booth <duncan.booth@invalid.invalid> - 2014-08-05 11:57 +0000
            Re: eval [was Re: dict to boolean expression, how to?] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-06 02:25 +1000
      Re: dict to boolean expression, how to? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-01 17:12 +0100
      Re: dict to boolean expression, how to? Peter Pearson <ppearson@nowhere.invalid> - 2014-08-01 17:00 +0000
    Re: dict to boolean expression, how to? Ned Batchelder <ned@nedbatchelder.com> - 2014-08-01 10:29 -0400

Page 2 of 2 — ← Prev page 1 [2]


#75494

FromPeter Pearson <ppearson@nowhere.invalid>
Date2014-08-01 17:00 +0000
Message-ID<c41vcvF6kt0U1@mid.individual.net>
In reply to#75478
On 01 Aug 2014 14:26:38 GMT, Alex van der Spek <zdoor@xs4all.nl> wrote:
[snip]
> This newsgroup scares me, it appears to be for professional computer 
> scientists only, the theoretical part is sometimes too much for this 
> practical physicist with an old background in FORTRAN.
>
> Is there a better place to ask questions of this nature?

Relax.  This newsgroup cheerfully deals with noobs much more noobish
than you.  It's an amazingly polite and helpful place, and many of the
regulars are top experts on Python.  Hang around, you'll like it.

-- 
To email me, substitute nowhere->spamcop, invalid->net.

[toc] | [prev] | [next] | [standalone]


#75480

FromNed Batchelder <ned@nedbatchelder.com>
Date2014-08-01 10:29 -0400
Message-ID<mailman.12514.1406903366.18130.python-list@python.org>
In reply to#75468
On 8/1/14 8:45 AM, Alex van der Spek wrote:
> With a dict like so:
>
> cond = {'a': 1, 'b': 1, 'c': 1,
>          'A': 0, 'B', 0, 'C':0}
>
> how would you make a boolean expression like this:
>
> bool = (('a' == 1) & ('A' == 0) |
>          ('b' == 1) & ('B' == 0) |
>          ('c' == 1) & ('C' == 0))
>
> The fact that lowercase and uppercase keys are stringed together with & is
> intentional albeit the actual condition is a bit more tricky.
>
> I've tried several approaches using eval() on a string built from the dict
> but landed with just spelling it out literally.
>
>
> Any pointers welcome.
> Alex
>

Are you looking for this?

     bool = (
         (cond['a'] == 1 and cond['A'] == 0) or
         (cond['b'] == 1 and cond['B'] == 0) or
         (cond['c'] == 1 and cond['C'] == 0)
     )

If so, what's wrong with that expression exactly?  I'm not sure how eval 
could enter into it, so I feel like I'm missing something.

-- 
Ned Batchelder, http://nedbatchelder.com

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.lang.python


csiph-web