crear una nueva columna de marco de datos de pandas basada en la condición if-else con una búsqueda

Tengo un marco de datos de pandas y necesito crear una nueva columna basada en una condición if-else. Esta pregunta ya apareció aquí varias veces (por ejemplo,Crear una nueva columna basada en la condición if-elif-else)

Sin embargo, no puedo aplicar la solución propuesta, ya que también necesito buscar valores en una lista para verificar la condición. No puedo hacer esto con la solución propuesta, porque no estoy seguro de cómo puedo acceder a mi lista de búsqueda en la función externa. Mi lista de búsqueda debería ser global, lo que quiero evitar. Tengo la sensación de que debería haber una mejor manera de hacer esto.

Considere el siguiente marco de datosdf:

letters
A
B
C
D
E
F

También tengo una lista que contiene valores de búsqueda:

lookup = [C,D]

Ahora, quiero crear una nueva columna en mi marco de datos que contenga1 si el valor respectivo está contenido enlookup y0 si los valores no están enlookup.

El enfoque típico sería:

df.apply(helper, axis=1)

def helper(row):
  if(row['letters'].isin(lookup)):
     row['result'] = 1
  else:
     row['result'] = 0

Sin embargo, no sé cómo puedo accederlookup enhelper() sin hacerlo global.

El resultado debería verse así:

letters    result
A          0
B          0
C          1
D          1
E          0
F          0

Respuestas a la pregunta(1)

Su respuesta a la pregunta