ks_lit = array(*[array(*[lit(k) for k in ks]) for ks in keyword_list])
df.withColumn('ad', topicWord(col('tokens'), ks_lit)).show()
Передача столбца фрейма данных и внешнего списка в udf под withColumn