Python Forum
Is the following code returning a generator expression?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Is the following code returning a generator expression?
#5
(Apr-09-2023, 08:05 AM)Gribouillis Wrote: function call parentheses suffice

This is such a tricky thing. Am I correct to guess there is no difference in program output between func((x is e or x == e for e in y)) and func(x is e or x == e for e in y)?

I am pasting the generator expression doc for completion: https://docs.python.org/3/reference/expr...xpressions

Quote:6.2.8. Generator expressions
A generator expression is a compact generator notation in parentheses:

generator_expression ::= "(" expression comp_for ")"
A generator expression yields a new generator object. Its syntax is the same as for comprehensions, except that it is enclosed in parentheses instead of brackets or curly braces.

Variables used in the generator expression are evaluated lazily when the __next__() method is called for the generator object (in the same fashion as normal generators). However, the iterable expression in the leftmost for clause is immediately evaluated, so that an error produced by it will be emitted at the point where the generator expression is defined, rather than at the point where the first value is retrieved. Subsequent for clauses and any filter condition in the leftmost for clause cannot be evaluated in the enclosing scope as they may depend on the values obtained from the leftmost iterable. For example: (x*y for x in range(10) for y in range(x, x+10)).

The parentheses can be omitted on calls with only one argument. See section Calls for details.
Reply


Messages In This Thread
RE: Is the following code returning a generator expression? - by quazirfan - Apr-09-2023, 11:22 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Code is returning the incorrect values. syntax error 007sonic 6 3,218 Jun-19-2023, 03:35 AM
Last Post: 007sonic
  Regular Expression search to comment lines of code Gman2233 5 2,997 Sep-08-2022, 06:57 AM
Last Post: ndc85430
  List Creation and Position of Continue Statement In Regular Expression Code new_coder_231013 3 2,793 Jun-15-2022, 12:00 PM
Last Post: new_coder_231013
  Regex Expression With Code Query In Pandas eddywinch82 8 4,173 Apr-13-2022, 09:12 AM
Last Post: snippsat
  Need help with my code (regular expression) shailc 5 3,058 Apr-04-2022, 07:34 PM
Last Post: shailc
  Pass results of expression to another expression cmdr_eggplant 2 3,214 Mar-26-2020, 06:59 AM
Last Post: ndc85430
  Why is ordertotal returning zero in my code? pythonprogrammer 1 2,058 Sep-02-2019, 01:34 AM
Last Post: ichabod801
  LDAP code to query for host not returning data burvil 2 5,536 Oct-17-2018, 10:03 PM
Last Post: burvil
  why the generator expression after IF always returns True HenryJ 1 3,524 Feb-13-2018, 07:14 AM
Last Post: buran
  receive from a generator, send to a generator Skaperen 9 7,476 Feb-05-2018, 06:26 AM
Last Post: Skaperen

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020