df = pd.DataFrame({'ID': ['1', '2', '3'], 'J1': [0, 2, 3], 'J2': [1, 4, 5]})
print(df)
lst = ['a', 'b', 'c', 'd', 'e', 'f']
df['J3'] = df.apply(lambda row: lst[row['J1']:row['J2']], axis=1)
print(df)
How to apply a function to two columns of Pandas dataframe