Junior
Toplama ilə massiv arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Python-da, toplus (set) - bu sıralanmayan, təkrarlanmayan unikal elementlərdən ibarət kolleksiyadır. Siyahı (adətən list və ya array modulundan array ilə təmsil olunur) isə sıralanmış, dəyişdirilə bilən elementlər kolleksiyasıdır, burada sıra vacibdir və təkrarlamalar ola bilər.
Əsas fərqlər:
- Sıralama: Toplus sırasızdır; elementlərin sırası təmin edilmir və dəyişə bilər. Siyahı/array sıralanmışdır; elementlər indekslərə malikdir.
- Unikalıq: Toplusdakı elementlər unikal olmalıdır. Siyahı/array təkrarlara icazə verir.
- İndeks və dilim: Topluslar indeksləşdirmə və ya dilimləmə dəstəkləmir, çünki sıralama yoxdur. Siyahı və ya array indeks və dilimləmə dəstəkləyir.
- Əməliyyatlar: Topluslar toplusal əməliyyatları (birlik, kəsişmə, fərq) dəstəkləyir. Siyahı və ya array başqa əməliyyatlar (birgəlik, təkrarlama) həyata keçirir.
- Performans: Bir elementin toplusda olub-olmadığını yoxlama (
in) orta hesabla daha sürətlidir (O(1)) müqayisədə siyahı ilə (O(n)).
Misal:
# To'plam yaratish
my_set = {1, 2, 3, 2, 4} # 2 təkrarı nəzərə alınmayacaq
# print(my_set) # Məsələn, {1, 2, 3, 4} göstərəcək (sıra dəyişə bilər)
# Siyahı yaratish
my_list = [1, 2, 3, 2, 4]
# print(my_list) # [1, 2, 3, 2, 4] göstərəcək (sıra və təkrarlamalar saxlanılır)
Əməliyyatların müqayisəsi:
| Əməliyyat | To'plam | Siyahı/array |
|---|---|---|
in yoxlaması |
Sürətli (O(1) orta) | Yavaş (O(n) orta) |
| Əlavə etmək | add(), update() |
append(), extend(), insert() |
| Silmək | remove(), discard(), pop() |
remove(), pop(), del |
| Birgəlik | union() və ya ` |
` |
| Kəsişmə | intersection() və ya & |
Birbaşa dəstəklənmir |
| İndeksə giriş | Yox | Bəli |
To'plamlar, elementlərin unikal olması və onların mövcudluğunun sürətli yoxlanması vacibdirsə, və sıra önəmli deyilsə istifadə olunur (məsələn, təkrarlamaları aradan qaldırmaq və çoxsaylı əməliyyatlar üçün). Siyahılar/array-lər isə elementlərin sıralaması vacibdirsə, indekslə giriş tələb olunursa və təkrarlamalar mümkün olursa istifadə olunur.