Как в одну переменную записать несколько значений питон
Перейти к содержимому

Как в одну переменную записать несколько значений питон

  • автор:

Как в одну переменную записать несколько значений питон

Одна из приятных возможностей языка Python — использование последовательностей для односременного присваивания нескольких значений.

Пример 1.26. Присваивание сразу нескольких значений

>>> v = ('a', 'b', 'e') >>> (x, y, z) = v  >>> x 'a' >>> y 'b' >>> z 'e'
v — кортеж из трех элементов и (x, y, z) — кортеж из трех элементов. Присваивание одного другому приводит к присваиванию каждого значения из v соответствующей переменной.

Использовать эту возможность можно по-разному. У меня часто возникает необходимость присвоить переменным диапазон значений. В языке C, вы бы использовали тип enum и вручную перечислили каждую константу и ассоциированное с ней значение, что утомительно, особенно, если значения идут подряд. Python позволяет использовать встроенную функцию range совместно с множественным присваиванием.

Пример 1.27. Присваивание идущих подряд значений

>>> range(7)  [0, 1, 2, 3, 4, 5, 6] >>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)  >>> MONDAY  0 >>> TUESDAY 1 >>> SUNDAY 6
Встроенная функция range возвращает список целых чисел. В простейшем случае она воспринимает в качестве аргумента верхний предел и возвращает список целых чисел от нуля до обозначенного придела, но не включая предельное значение. При желании вы можете указать нижний предел отличный от нуля и шаг отличный от еденицы. Выполните инструкцию print range.__doc__ для получения более подробной информации.
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY и SUNDAY — переменные, которые мы определяем. Этот пример взят из модуля calendar, печатающего календари, аналогично программе cal в UNIX. Этот модуль определяет целочисленные константы для дней недели.
Теперь каждая переменная имеет свое значение: MONDAY равна 0, TUESDAY — единице, и т. д.

Множественное присваивание также полезно при использовании функций, возвращающих несколько значений в виде кортежа. Вы просто присваиваете их отдельным переменным. Так поступают многие стандартные библиотеки языка Python, включая модуль os, который обсуждается в главе 3.

  • В How to Think Like a Computer Scientist показано, как использовать множественное присваивание для обмена значениями двух переменных.

Copyright © 2000, 2001, 2002 Марк Пилгрим

Copyright © 2001, 2002 Перевод, Денис Откидач

Как задать несколько значений в одну переменную?

Как мне значения Как дела и как дела поместить в одну переменную? Необходимо сравнить ее с другой переменной, если хоть один вариант совпадет, необходимо чтобы в if что-то произошло.

Отслеживать
51.6k 203 203 золотых знака 65 65 серебряных знаков 250 250 бронзовых знаков
задан 2 апр 2021 в 10:08
Dima Bro Lach Dima Bro Lach
1 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака
Для какой задачи? x = [«Как дела», «как дела»]; print(x[0], x[1]) — называется «список»
2 апр 2021 в 10:13

мне необходимо сравнить его с другой переменной если хоть одни вариант совпадет необходимо что бы что-то произошло (в if)

2 апр 2021 в 10:20
s = ‘KaK дЕлА’ → if ‘как дела’ in s.lower(): print(‘match’)
2 апр 2021 в 10:21

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

words = ("Как дела", "как дела") 

А вообще коллекций разных в питоне много, какую лучше использовать зависит от сценария использования.

По дополнительному вопросу из комментария:

if "как дела" in words: print("Нашёл!") 

Отслеживать
ответ дан 2 апр 2021 в 10:13
70.3k 5 5 золотых знаков 20 20 серебряных знаков 51 51 бронзовый знак
ТЫ ПРОСТО БОГ python. 2 раз помогаешь примного благодарен
2 апр 2021 в 10:26

@DimaBroLach Ну это азы питона, честно говоря, продолжайте изучать, там будет ещё сложнее и интереснее )

2 апр 2021 в 10:27

string = «как дела», «Как дела»

для вывода или использования одного из значений: print(string[0]) — тут выводится «как дела»

Отслеживать
ответ дан 2 апр 2021 в 10:15
475 2 2 серебряных знака 16 16 бронзовых знаков

мне необходимо сравнить его с другой переменной если хоть одни вариант совпадет необходимо что бы что-то произошло (в if)

Можно сделать так (если есть две переменных с несколькими значениями):

a = ["Как дела", "как дела"] b = ["Привет", "привет", "Как дела"] for itema in a: for itemb in b: if itema == itemb: # if-блок, который ищет совпадения pass # Тут всё, что необходимо выполнить 

Или так (если есть одна переменная с несколькими значениями и другая с одним занчением):

a = ["Как дела", "как дела"] b = "Как дела" if b in a: # if-блок, который ищет совпадения pass # Тут всё, что необходимо выполнить 

Как сделать вывод нескольких переменных python в одну строку

Вывести несколько переменных одной строкой в Python можно сделать несколькими способами:

  1. Перечислить эти переменные в функции print() через запятую
a = 'apple' b = 'orange' print(a, b) # => apple orange 
  1. Использовать f-строки
a = 'apple' b = 'orange' print(f'a> b>') # => apple orange 
  1. Использовать интерполяцию и задать шаблон для метода .format()
a = 'apple' b = 'orange' print('<> <>'.format(a, b)) # => apple orange 

Как вернуть сразу несколько значений из функции в Python 3

Сегодня мы делимся с вами переводом статьи, которую нашли на сайте medium.com. Автор, Vivek Coder, рассказывает о способах возврата значений из функции в Python и объясняет, как можно отличить друг от друга разные структуры данных.

Фото с сайта Unsplash. Автор: Vipul Jha

Python удобен в том числе тем, что позволяет одновременно возвращать из функции сразу несколько значений. Для этого нужно воспользоваться оператором return и вернуть структуру данных с несколькими значениями — например, список общего количества рабочих часов за каждую неделю.

def hours_to_write(happy_hours): week1 = happy_hours + 2 week2 = happy_hours + 4 week3 = happy_hours + 6 return [week1, week2, week3] print(hours_to_write(4)) # [6, 8, 10]

Структуры данных в Python используются для хранения коллекций данных, которые могут быть возвращены посредством оператора return . В этой статье мы рассмотрим способы возврата нескольких значений с помощью подобных структур (словарей, списков и кортежей), а также с помощью классов и классов данных (Python 3.7+).

Способ 1: возврат значений с помощью словарей

Словари содержат комбинации элементов, которые представляют собой пары «ключ — значение» ( key:value ), заключенные в фигурные скобки ( <> ).

Словари, на мой взгляд, это оптимальный вариант для работы, если вы знаете ключ для доступа к значениям. Далее представлен словарь, где ключом является имя человека, а соответствующим значением — возраст.

people=

А теперь перейдем к функции, которая возвращает словарь с парами «ключ — значение».

# A Python program to return multiple values using dictionary # This function returns a dictionary def people_age(): d = dict(); d['Jack'] = 30 d['Kim'] = 28 d['Bob'] = 27 return d d = people_age() print(d) #

Способ 2: возврат значений с помощью списков

Списки похожи на массивы, сформированные с использованием квадратных скобок, однако они могут содержать элементы разных типов. Списки также отличаются от кортежей, поскольку являются изменяемым типом данных. То есть любой список может меняться.

Списки — одна из наиболее универсальных структур данных в Python, потому что им не обязательно сохранять однородность (в них можно включать строки, числа и элементы). Иногда списки даже используют вместе со стеками или очередями.

# A Python program to return multiple values using list def test(): str1 = "Happy" str2 = "Coding" return [str1, str2]; list = test() print(list) # ['Happy', 'Coding']

Вот пример, где возвращается список с натуральными числами.

def natural_numbers(numbers = []): for i in range(1, 16): numbers.append(i) return numbers print(natural_numbers()) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

Способ 3: возврат значений с помощью кортежей

Кортежи — это упорядоченные неизменяемые объекты в Python, которые обычно используются для хранения коллекций неоднородных данных.

Кортежи напоминают списки, однако их нельзя изменить после того, как они были объявлены. А еще, как правило, кортежи быстрее в работе, чем списки. Кортеж можно создать, отделив элементы запятыми: x, y, z или (x, y, z) .

На этом примере кортеж используется для хранения данных о сотруднике (имя, опыт работы в годах и название компании).

Bob = ("Bob", 7, "Google")

А вот пример написания функции для возврата кортежа.

# A Python program to return multiple values using tuple # This function returns a tuple def fun(): str1 = "Happy" str2 = "Coding" return str1, str2; # we could also write (str1, str2) str1, str2= fun() print(str1) print(str2) # Happy Coding

Обратите внимание: мы опустили круглые скобки в операторе return , поскольку для возврата кортежа достаточно просто отделить каждый элемент запятой (как показано выше).

Не забывайте, что кортеж можно создать с помощью запятой вместо круглых скобок. Круглые скобки требуются только в тех случаях, когда используются пустые кортежи или вам нужно избежать синтаксической неточности.

Чтобы лучше разобраться в кортежах, обратитесь к официальной документации Python 3 (документация приведена на английском языке. — Прим. ред.).

Ниже показан пример функции, которая использует для возврата кортежа круглые скобки.

def student(name, class): return (name, class) print(student("Brayan", 10)) # ('Brayan', 10)

Повторюсь, кортежи легко перепутать со списками (в конце концов, и те, и другие представляют собой контейнер, состоящий из элементов). Однако нужно помнить о фундаментальном различии: кортежи изменить нельзя, а списки — можно.

Способ 4: возврат значений с помощью объектов

Тут все так же, как в C/C++ или в Java. Можно просто сформировать класс (в C он называется структурой) для сохранения нескольких признаков и возврата объекта класса.

# A Python program to return multiple values using class class Intro: def __init__(self): self.str1 = "hello" self.str2 = "world" # This function returns an object of Intro def message(): return Intro() x = message() print(x.str1) print(x.str2) # hello world

Способ 5: возврат значений с помощью классов данных (Python 3.7+)

Классы данных в Python 3.7+ как раз помогают вернуть класс с автоматически добавленными уникальными методами, модулем typing и другими полезными инструментами.

from dataclasses import dataclass @dataclass class Item_list: name: str perunit_cost: float quantity_available: int = 0 def total_cost(self) -> float: return self.perunit_cost * self.quantity_available book = Item_list("better programming.", 50, 2) x = book.total_cost() print(x) print(book) # 100 Item_list(name='better programming.', perunit_cost=50, quantity_available=2)

Чтобы лучше разобраться в классах данных, обратитесь к официальной документации Python 3 (документация приведена на английском языке. — Прим. ред.).

Вывод

Цель этой статьи — ознакомить вас со способами возврата нескольких значений из функции в Python. И, как вы видите, этих способов действительно много.

Учите матчасть и постоянно развивайте свои навыки программирования. Спасибо за внимание!

  • python 3
  • python
  • программирование для начинающих
  • программирование
  • функции
  • data science
  • Блог компании Plarium
  • Python
  • Программирование

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *