Допустим, у меня есть функцияПравильный способ пользователя * арг и инициализированными аргументов в функции питона
def fix_results(parameter_1 =True, *some_kind_of_iterable):
if parameter_1:
df = pd.DataFrame(i for i in some_kind_of_iterable if i['count'] == 1)
else:
df = pd.DataFrame(i for i in some_kind_of_iterable)
And the some piece of code for df.
return df
Когда я запускаю это нравится:
fix_results(*some_results),
он работает отлично. Но когда я пытаюсь запустить его как
fix_results(parameter_1=False,*some_results)
я получаю эту ошибку:
TypeError: fix_results() got multiple values for keyword argument 'parameter_1'
Что я делаю неправильно?
Итак, есть ли другой способ получить тот же результат, чтобы объявить, для чего является параметр_1? (Для python 2.7) –
@GiorgosPerakis Я добавил альтернативу Python 2 для моего ответа. –
Я хотел использовать * args вместо обычного аргумента. Но спасибо большое! –