On 05/11/2022 22:11, MRAB wrote:
On 2022-11-05 18:52, cactus wrote:
On Saturday, 5 November 2022 at 16:06:52 UTC, cactus wrote:

I should have quoted the full comprehensions:

  all((srt(m, n) in c_np) == (srt(a, b) in c_ap)  for (m, a), (n, b) in combinations(na8, 2))   all( srt(m, n) in c_np  ==  srt(a, b) in c_ap)  for (m, a), (n, b) in combinations(na8, 2))

The comparison operators can be chained, so:

     a == b == c

is equivalent to:

     (a == b) and (b == c)

except that the common term ('b' in this case) is evaluated only once.

'in' is one of those comparison operators, so:

      srt(m, n) in c_np == srt(a, b) in c_ap

is equivalent to:

      (srt(m, n) in c_np) and (c_np == srt(a, b)) and (srt(a, b) in c_ap)

except that the common terms ('c_np' and 'srt(a, b)') are evaluated only once.

Chaining makes most sense with multiple '==' or a series of '<' and/or '<=' or a series of '>' and/or '>=', as in '1 <= n <= 10'.

Thanks for a most helpful explanation


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

Reply via email to