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() или & |
Непосредно не подржава |
| Доступ по индексу | Не | Да |
Множества се користе када је важна јединственост елемената и брза провера њиховог постојања, а ред није важан (на пример, за уклањање дупликата, извођење више операција). Листе/масиви се користе када је важан ред елемената, потребан је приступ по индексу, и могу постојати дупликати.