Передача в функцию переменные из массива циклом
Я пытаюсь рефакторить код. У меня есть одна функция которая часто дублируется и принимает несколько значений. Я создал цикл и не могу понять как мне преобразовать это в аргументы.
def mainFunc(x, x1, x2, x3 == 5):
print('чето делаем')
def mainFuncMass(arr):
for attr in arr:
#Если я буду передавать по ключу attr[0] attr[1] то если отсутствует ключ attr[3]
#выйдет ошибка. Это решается плохим кодом, чего мне делать не хочется.
mainFunc(attr) # разное колво элементов
arr = [ [0, 1, 2, 3], [0, 3, 4, 8], [0, 1, 2] ]
mainFuncMass(arr)
Как мне грамотно решить данную задачу? Хотелось бы научится делать качественный, читаемый код.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Можно "развернуть" список/массив в набор значений с помощью знака *:
mainFunc(*attr)
Ну и, конечно, нужно исправить описание функции, значение по умолчанию задаётся через один знак =, а не через два. == - это сравнение:
def mainFunc(x, x1, x2, x3 = 5):