Removing Items

Siz setdan elementlarni bir nechta usullar orqali o'chirishingiz mumkin.

Elementlarni O'chirish

Siz setdan elementlarni bir nechta usullar orqali o'chirishingiz mumkin. Bular:

  • remove()
  • discard()
  • pop()

Keling, har bir usulni batafsil ko'rib chiqamiz!

.remove() dan Foydalanish

remove() usuli setdan kiritilgan elementni olib tashlashga harakat qiladi:

1 >>> my_set = {"a", "b", "c"}
2 >>> my_set.remove('a')
3 >>> my_set
4 {'c', 'b'}

Agar siz setdan mavjud bo'lmagan elementni olib tashlamoqchi bo'lsangiz, xatolik yuzaga keladi:

1 >>> my_set = {"a", "b", "c"}
2 >>> my_set.remove('f')
3 Traceback (most recent call last):
4 Python Shell, prompt 208, line 1
5 builtins.KeyError: 'f'

Endi remove() ga juda o'xshash discard() usulini ko'rib chiqamiz!

.discard() dan Foydalanish

discard() usuli ham xuddi remove() kabi setdan kiritilgan elementni olib tashlaydi:

1 >>> my_set = {"a", "b", "c"}
2 >>> my_set.discard('b')
3 >>> my_set
4 {'c', 'a'}

Ammo, discard()ning farqi shundaki, agar siz mavjud bo'lmagan elementni olib tashlashga harakat qilsangiz, u xatolik bermaydi:

1 >>> my_set = {"a", "b", "c"}
2 >>> my_set.discard('d')
3 >>>

Agar siz element mavjud bo'lmaganda xatolikni ushlashni xohlasangiz, remove()dan foydalaning. Agar bu siz uchun muhim bo'lmasa, discard() yaxshiroq tanlov bo'lishi mumkin.

.pop() dan Foydalanish

pop() usuli setdan ixtiyoriy elementni olib tashlaydi va uni qaytaradi:

1 >>> my_set = {"a", "b", "c"}
2 >>> my_set.pop()
3 'c'
4 >>> my_set
5 {'a', 'b'}

Agar set bo'sh bo'lsa va siz undan pop() yordamida element olishga harakat qilsangiz, xatolik yuzaga keladi:

1 >>> my_set = {"a"}
2 >>> my_set.pop()
3 'a'
4 >>> my_set.pop()
5 Traceback (most recent call last):
6 Python Shell, prompt 219, line 1
7 builtins.KeyError: 'pop from an empty set'

Bu pop()ning ro'yxat (list) ma'lumot turi bilan ishlash usuliga juda o'xshash, lekin ro'yxatlarda IndexError paydo bo'ladi. Shuningdek, ro'yxatlar tartibli bo'lganligi sababli, pop() yordamida qanday element olib tashlanishini bilishingiz mumkin, lekin setlar tartibsiz bo'lganligi sababli, bu aniq emas.

Ushbu sahifada

Xato haqida xabar berish