Я знаю, что функция может возвращать несколько значений в Python. То, что я хотел бы сделать, - вернуть каждый элемент в списке как отдельное возвращаемое значение. Это может быть произвольное количество элементов, в зависимости от ввода пользователя. Мне интересно, есть ли питонический способ сделать это?Возврат каждого элемента из списка (Python)
Например, у меня есть функция, которая вернет пару элементов в виде массива, например, вернет [a, b]
.
Однако, в зависимости от введенного ввода, функция может вызывать несколько пар, что приведет к возврату функции [[a, b], [c, d], [e, f]]
. Вместо этого я бы хотел, чтобы он вернулся [a, b], [c, d], [e, f]
На данный момент я реализовал очень дрянную функцию с большим количеством временных переменных и подсчетов, и я ищу более чистое предложение.
Цените помощь!
Не совсем верно сказать, что функции python могут возвращать более одного значения: такие функции фактически возвращают кортеж, который распаковывается при назначении. Таким образом, вы можете просто преобразовать свой список в кортеж, используя 'tuple()'. Если вы имеете в виду, что вы хотите вернуть их по одному разу при нескольких вызовах, тогда вы используете 'yield' и создаете генератор, что-то еще. –
Стоит отметить, что кортежи - это только норма, когда дело доходит до «возвращения нескольких значений». Вы можете с радостью вернуть список и распаковать его точно так же, как кортеж. –