У меня есть функция, где мне нужно вернуть 2 списка, которые создаются внутри функции в python 3.x. Вместо того, чтобы возвращать списки, я могу скорее взять 2 списка в качестве аргументов и добавить любую информацию, которая мне нужна в этих списках. Мой другой подход состоял в том, чтобы вернуть словарь с двумя списками, а затем получить списки, используя ключ после возвращения функции. Оба эти метода требуют подготовки до/после вызова функции, поэтому мне просто интересно, есть ли лучший способ вернуть списки, и если не какой из этих двух подходов лучше.Принимая несколько списков в качестве аргументов, а не возвращая их в dict, есть ли лучший способ (python3)?
Пример кода:
def method1(list1, list2):
*do something to lists*
def method2():
*do something to lists*
return({'list1': list1, 'list2': list2})
get_lists_method1():
list1 = []
list2 = []
method1()
get_lists_method2():
list_dict = method1()
list1 = list_dict['list1']
list2 = list_dict['list2']
Редактировать, используя метод кортежи:
def method3():
*create and do something with lists*
return (list1, list2)
get_lists_method3():
list1, list2 = method3()
Не знаю, почему я не рассматривал кортежи, используя распаковку. из моего примера это будет 'list1, list2 = method2()', если он вернул кортеж вместо dict. Кроме того, если вы вносите изменения в список, прошедший в качестве аргумента, разве это не избыточно, чтобы вернуть его? – Zelnoth