Sobes.tech
Junior

Чиме се разликује скуп од низе?

sobes.tech АИ

Одговор од АИ

Множество (set) у Питону — неуређена колекција јединствених елемената без дупликата. Маса (обично представљена листама list или масивима из модула array) — уређена колекција променљивих елемената, где је ред важан, и могу постојати дупликати.

Основне разлике:

  • Уређеност: Множество није уређено; ред елемената није гарантован и може се мењати. Листа/масив је уређен; елементи имају индексе.
  • Јединственост: Елементи множества морају бити јединствени. Листа/масив може садржати дупликате.
  • Индексирање/срезови: Множества не подржавају индексирање и срезове због недостатка реда. Листе/масиви подржавају обилазак по индексу и срезове.
  • Операције: Множества подржавају математичке операције над множествима (уједињење, пресек, разлика). Листе/масиви имају друге операције (конкатенација, понављање).
  • Перформансе: Провера припадности елемента (in) у множеству је асимптотички бржа (O(1) у просеку) у поређењу са листом (O(n) у просеку).

Пример креирања:

# Креирање множества
my_set = {1, 2, 3, 2, 4} # Дупликат 2 ће бити игнорисан
# print(my_set) # Исписаће {1, 2, 3, 4} (ред може бити различит)

# Креирање листе
my_list = [1, 2, 3, 2, 4]
# print(my_list) # Исписаће [1, 2, 3, 2, 4] (чува ред и дупликате)

Поређење операција:

Операција Множество Листа/Масив
Провера in Брзо (O(1) у просеку) Споро (O(n) у просеку)
Додавање add(), update() append(), extend(), insert()
Брисање remove(), discard(), pop() remove(), pop(), del
Уједињење union() или ` `
Пресек intersection() или & Непосредно не подржава
Доступ по индексу Не Да

Множества се користе када је важна јединственост елемената и брза провера њиховог постојања, а ред није важан (на пример, за уклањање дупликата, извођење више операција). Листе/масиви се користе када је важан ред елемената, потребан је приступ по индексу, и могу постојати дупликати.