Вы можете попробовать это:
import inspect
fruit = ['apple', 'orange']
def get(v):
for i in reversed(inspect.stack()):
n = [v_name for v_name, v_val in i.frame.f_locals.items() if v_val is v]
if len(n):
return n[0]
for i in range(1, 4):
name_string_order = get(fruit) + str(i)
exec("%s = [fruit[0] + str(i), fruit[1] + str(i)]" % name_string_order)
print(fruit1)
print(fruit2)
print(fruit3)
И положил
['apple1', 'orange1']
['apple2', 'orange2']
['apple3', 'orange3']