Issue with Variable Scope in Python within Generator Expressions
I am facing an issue in Python where variables within generator expressions (such as all(...) or list comprehensions) are not accessible unless declared globally. For instance, in all(row[column] == fieldData for row in eventsList), both column and eventsList are not accessible in that context, resulting in the exception: name 'eventsList' is not defined. Does anyone know how to solve this without declaring the variables globally?
This won't work:
column = 'some_column'
fieldData = 'expected_value'
eventsList = [{'some_column': 'expected_value'}, {'some_column': 'other_value'}]
if all(row[column] == fieldData for row in eventsList):
print("All rows match")
else:
print("Not all rows match")
but will do if I append global column, fieldData, eventsList at the beggining
I am facing an issue in Python where variables within generator expressions (such as
all(...)or list comprehensions) are not accessible unless declared globally. For instance, inall(row[column] == fieldData for row in eventsList), bothcolumnandeventsListare not accessible in that context, resulting in theexception: name 'eventsList' is not defined. Does anyone know how to solve this without declaring the variables globally?This won't work:
column = 'some_column' fieldData = 'expected_value' eventsList = [{'some_column': 'expected_value'}, {'some_column': 'other_value'}] if all(row[column] == fieldData for row in eventsList): print("All rows match") else: print("Not all rows match")but will do if I append
global column, fieldData, eventsListat the beggining
Hey!
Is this in the Execute Python function, Liquid or with a custom app?
It indeed must have something to do with local vs global scopes if the execute python function 🤔
Is this in the Execute Python function, Liquid or with a custom app?
It's in Execute Python Function inside Shuffle-tools app
@0x0elliot can you look into this? Very relevant to the code editor work