Python / Жагсаалтын методууд

Жагсаалтын методууд

Өмнөх хичээлд list үүсгэж, элементүүдийг уншиж сурлаа. Энэ хичээлд list-ийг өөрчлөх — элемент нэмэх, устгах, эрэмбэлэх, хайх — бүх чухал методуудыг практик жишээгээр дэлгэрэнгүй авч үзнэ. Python-ийн list маш олон нөөц хэрэгсэлтэй!

Элемент нэмэх

append() — сүүлд нэмэх

python
жимснүүд = ["алим", "гүйлс"]

жимснүүд.append("үзэм")
жимснүүд.append("тавиу")
print(жимснүүд)    # ['алим', 'гүйлс', 'үзэм', 'тавиу']

insert() — тодорхой байршилд нэмэх

python
тоонууд = [1, 2, 4, 5]

тоонууд.insert(2, 3)    # индекс 2-т 3 оруулах
print(тоонууд)           # [1, 2, 3, 4, 5]

тоонууд.insert(0, 0)    # эхэнд нэмэх
print(тоонууд)           # [0, 1, 2, 3, 4, 5]

extend() — өөр list-ийг нийлүүлэх

python
эхний = [1, 2, 3]
хоёрдахь = [4, 5, 6]

эхний.extend(хоёрдахь)
print(эхний)    # [1, 2, 3, 4, 5, 6]

# + оператор шинэ list үүсгэнэ — эхнийг өөрчлөхгүй
нийлсэн = [1, 2] + [3, 4]
print(нийлсэн)   # [1, 2, 3, 4]

Элемент устгах

remove() — утгаар устгах

python
нэрнүүд = ["Болд", "Сарнай", "Анар", "Сарнай"]

нэрнүүд.remove("Сарнай")    # анхны тохиолдлыг устгана
print(нэрнүүд)    # ['Болд', 'Анар', 'Сарнай']

pop() — индексээр устгаж буцаах

python
жимснүүд = ["алим", "гүйлс", "үзэм", "тавиу"]

сүүлчийн = жимснүүд.pop()        # сүүлийг авна
print(сүүлчийн)    # тавиу
print(жимснүүд)    # ['алим', 'гүйлс', 'үзэм']

хоёрдахь = жимснүүд.pop(1)       # индекс 1-ийг авна
print(хоёрдахь)    # гүйлс
print(жимснүүд)    # ['алим', 'үзэм']

del — устгах өөр арга

python
тоонууд = [10, 20, 30, 40, 50]

del тоонууд[2]          # индекс 2 устгах
print(тоонууд)           # [10, 20, 40, 50]

del тоонууд[1:3]         # slice устгах
print(тоонууд)           # [10, 50]

clear() — бүгдийг устгах

python
жагсаалт = [1, 2, 3, 4, 5]
жагсаалт.clear()
print(жагсаалт)    # []

Хайх ба тоолох

python
тоонууд = [3, 1, 4, 1, 5, 9, 2, 6, 1]

# index() — анхны байршил олох
print(тоонууд.index(5))     # 4 — 5 нь индекс 4-т байна
print(тоонууд.index(1))     # 1 — анхны 1-ийн байршил

# count() — хэдэн удаа давтагдсан
print(тоонууд.count(1))     # 3
print(тоонууд.count(7))     # 0

# in — байгаа эсэх
print(9 in тоонууд)         # True

Эрэмбэлэх

sort() — өөрийгөө өөрчилж эрэмбэлэх

python
тоонууд = [5, 2, 8, 1, 9, 3]

тоонууд.sort()                      # өсөхөөр
print(тоонууд)    # [1, 2, 3, 5, 8, 9]

тоонууд.sort(reverse=True)          # буурахаар
print(тоонууд)    # [9, 8, 5, 3, 2, 1]

нэрнүүд = ["Төгс", "Болд", "Анар", "Сарнай"]
нэрнүүд.sort()
print(нэрнүүд)    # ['Анар', 'Болд', 'Сарнай', 'Төгс']

sorted() — шинэ list буцаах (эх жагсаалт хэвээр үлдэнэ)

python
анхны = [5, 2, 8, 1, 9]

эрэмбэлсэн = sorted(анхны)
print(анхны)       # [5, 2, 8, 1, 9]  — өөрчлөгдөөгүй
print(эрэмбэлсэн)  # [1, 2, 5, 8, 9]

reverse() — дарааллыг урвуулах

python
тоонууд = [1, 2, 3, 4, 5]
тоонууд.reverse()
print(тоонууд)    # [5, 4, 3, 2, 1]

copy() — хуулбар үүсгэх

python
эх = [1, 2, 3]

# ❌ Буруу — хоёулаа нэг объектыг заана
хуулбар = эх
хуулбар.append(4)
print(эх)        # [1, 2, 3, 4] — эхийг ч өөрчиллөө!

# ✅ Зөв — copy() шинэ list үүсгэнэ
эх = [1, 2, 3]
хуулбар = эх.copy()
хуулбар.append(4)
print(эх)        # [1, 2, 3]    — хэвээр
print(хуулбар)   # [1, 2, 3, 4]

Бодит жишээ — дэлгүүрийн сагс

python
сагс = []

# Бараа нэмэх
сагс.append({"нэр": "Цай",    "үнэ": 8_500})
сагс.append({"нэр": "Талх",   "үнэ": 3_200})
сагс.append({"нэр": "Сүү",    "үнэ": 4_800})
сагс.append({"нэр": "Өндөг",  "үнэ": 12_000})

# Нийт тооцоолох
нийт = sum(бараа["үнэ"] for бараа in сагс)

print("🛒 Сагсны агуулга:")
for i, бараа in enumerate(сагс, 1):
    print(f"  {i}. {бараа['нэр']:<10} {бараа['үнэ']:>8,}₮")

print(f"\n  Нийт дүн:   {нийт:>8,}₮")

Гаралт:

код
🛒 Сагсны агуулга:
  1. Цай            8,500₮
  2. Талх           3,200₮
  3. Сүү            4,800₮
  4. Өндөг         12,000₮

  Нийт дүн:        28,500₮

Дараагийн хичээлд:

List-ийн бүх чухал методуудыг эзэмшлээ! Дараа нь tuple — list-тэй төстэй боловч өөрчлөгдөхгүй (immutable) өгөгдлийн бүтцийг судална. Яагаад хоёулаа байдаг, хэзээ аль нэгийг сонгох талаар тодорхой болно.