Я хочу получить конкретное значение, возращаемое методом
К примеру, вот код:
return names_vacancie, urls, prices
И вот задача, я хочу получить только значение "urls", можно ли это сделать ? Если можно, то как ?
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Если из функции возвращаете несколько переменных как тут return names_vacancie, urls, prices, то их значения вернутся в кортеже (tuple):
def get() -> tuple:
names_vacancie, urls, prices = 1, 2, 3
return names_vacancie, urls, prices
print(type(get()))
# <class 'tuple'>
Достать значение можно по индексу:
urls = get()[1]
print(urls)
Или через распаковку в переменные:
names_vacancie, urls, prices = get()
print(urls)
_, urls, _ = get()
print(urls)
Автор решения: Senior Pomidor
→ Ссылка
Есть несколько способов сделать это:
- Использовать индекс для доступа к нужному элементу в списке:
urls_only = urls[1]
- Использовать присваивание с помощью динамического пакета:
_, urls_only, _ = return names_vacancie, urls, prices
- Использовать присваивание с помощью метода pop():
urls_only = return names_vacancie, urls, prices.pop(1)
- Использовать присваивание с помощью спискового включения:
urls_only = [urls for _, urls, _ in return names_vacancie, urls, prices]
- Использовать присваивание с помощью деструктуризации:
urls_only, *_ = return names_vacancie, urls, prices
Выберите тот способ, который вам больше нравится или который более удобнее.