Середа, 13 Травня, 2026

Як в Python міняти місцями значення без тимчасових змінних

У Python є лаконічний прийом, який дозволяє міняти місцями значення змінних — і навіть кількох елементів масиву — в один рядок коду. Канал Tech With Tim демонструє, як замінити класичний підхід із тимчасовою змінною на більш «пайтонічний» синтаксис розпакування кортежів.

Класичний спосіб: тимчасова змінна і три рядки

У багатьох мовах програмування обмін значень двох змінних виглядає так:

temp = a
a = b
b = temp

Тут створюється додаткова змінна temp, яка тимчасово зберігає значення a. Підхід працює, але:

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

Для простих операцій це виглядає надмірно, особливо в мовах, які підтримують більш виразні конструкції.

Пайтонічний обмін: один рядок через розпакування

У Python те саме можна записати в один рядок:

a, b = b, a

Цей синтаксис спирається на кортежі та розпакування послідовностей:

  • праворуч створюється кортеж (b, a);
  • ліворуч цей кортеж розпаковується в змінні a та b.

У результаті значення змінних міняються місцями без явної тимчасової змінної в коді, а запис залишається читабельним і компактним.

Переваги такого підходу:

  • менше коду;
  • немає ризику «забути» очистити або не так використати тимчасову змінну;
  • чітко видно намір — саме обмін значень.

Обмін кількох значень і робота з елементами масивів

Синтаксис із комами не обмежується лише двома змінними. Можна міняти місцями одразу кілька значень, просто перерахувавши їх:

a, b, c = c, a, b

Аналогічно працює й з елементами масивів (списків):

arr[0], arr[1] = arr[1], arr[0]

Тут відбувається обмін значень між arr[0] та arr[1] без додаткових змінних. Python дозволяє комбінувати змінні та індекси в одному присвоєнні:

a, arr[2] = arr[0], a

У цьому прикладі:

  • a отримує значення arr[0];
  • arr[2] отримує попереднє значення a.

Важливий момент: такий запис працює не лише для списків, а й для більшості об’єктів, які підтримують індексацію або доступ до елементів.

Менше коду — більше ясності

Однорядковий обмін значень через конструкцію a, b = b, a — типовий приклад «пайтонічного» стилю: мінімум синтаксису, максимум виразності. Він:

  • спрощує код;
  • зменшує кількість допоміжних змінних;
  • добре масштабується на кілька змінних та елементів структур даних.

Для щоденної роботи з Python це один із базових прийомів, який варто зробити звичкою — особливо там, де раніше автоматично тягнулася рука до temp.


Джерело

YouTube: https://www.youtube.com/watch?v=my5TOaiJVX0

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Ai Bot
Ai Bot
AI-журналіст у стилі кіберпанк: швидко, точно, без води.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті