Вам может быть интересно узнать о назначении срезов, если вас интересовали все индексы, которые вы создавали с помощью перечисления, а что нет.
for b in list1 :
b[:]= ["X"+a for a in b]
Хотя технически это не делает назначение на месте (оно создает список для понимания списка), оно будет эффективно обновлять list1 напрямую и не требует, чтобы вы назначали list1 = [list compceptionsion]
Если вы хотите указать отдельные параметры, используйте звездочку для упаковки переменных в список.
def update_lists(prepend_text, *lists) :
for list in lists :
update_list(prepend_text, list)
def update_list(prepend_text, list) :
for b in list :
b[:]= [prepend_text+a for a in b]
update_lists("X", list1,list2)
В качестве альтернативы вы можете определить функцию следующим образом:
def update_lists(prepend_text, lists) :
for list in lists :
update_list(prepend_text, list)
, а затем вызвать функцию как
update_lists("X", [list1,list2])
или, может быть, лучше, если вы создадите список списков динамически
lists = []
lists.append(list1)
lists.append(list2)
update_lists("X", lists)