Python / Жагсаалт (List)
Жагсаалт (List)
Программчлалд ганц утга биш, олон утгыг нэгд нь хадгалах шаардлага байнга гардаг — оюутнуудын нэрс, бараа бүтээгдэхүүний үнүүд, сарын температурууд гэх мэт. Python-д үүний тулд list (жагсаалт) ашигладаг. List нь Python-ийн хамгийн их хэрэглэгддэг өгөгдлийн бүтэц юм.
List үүсгэх
python
# Хоосон list
хоосон = []
# Тоонуудын list
тоонууд = [1, 2, 3, 4, 5]
# String-үүдийн list
нэрнүүд = ["Болд", "Сарнай", "Анар", "Төгс"]
# Холимог төрөл (боломжтой ч ховор хэрэглэнэ)
холимог = [42, "Python", True, 3.14]
print(нэрнүүд) # ['Болд', 'Сарнай', 'Анар', 'Төгс']
print(len(нэрнүүд)) # 4
print(type(нэрнүүд)) # <class 'list'>
Индекс ба элемент авах
List-ийн элемент бүр 0-ээс эхэлж дугаарлагдана. Сүүлийн элементийг -1 индексээр авна:
python
жимснүүд = ["алим", "гүйлс", "үзэм", "тавиу", "нимбэг"]
# 0 1 2 3 4
# -5 -4 -3 -2 -1
print(жимснүүд[0]) # алим
print(жимснүүд[2]) # үзэм
print(жимснүүд[-1]) # нимбэг — сүүлчийн
print(жимснүүд[-2]) # тавиу — сүүлээс хоёр дахь
Slice — хэсэг авах
Жагсаалтын хэсгийг [эхлэл:төгсгөл:алхам] хэлбэрээр авна:
python
тоонууд = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(тоонууд[2:6]) # [2, 3, 4, 5] — 2-оос 5 хүртэл
print(тоонууд[:4]) # [0, 1, 2, 3] — эхнээс 3 хүртэл
print(тоонууд[6:]) # [6, 7, 8, 9] — 6-аас эцэс хүртэл
print(тоонууд[::2]) # [0, 2, 4, 6, 8] — нэг алгасч
print(тоонууд[::-1]) # [9, 8, ..., 0] — урвуу
Элемент өөрчлөх
List-ийн элементийг индексээр шууд өөрчилж болно — string-ээс ялгаатай нь list өөрчлөгдөх боломжтой (mutable):
python
өнгөнүүд = ["улаан", "шар", "ногоон"]
өнгөнүүд[1] = "хөх"
print(өнгөнүүд) # ['улаан', 'хөх', 'ногоон']
# Slice-р олон элементийг нэгэн зэрэг солих
өнгөнүүд[0:2] = ["цагаан", "хар"]
print(өнгөнүүд) # ['цагаан', 'хар', 'ногоон']
for давталт ба list
List-ийн элемент бүрт for давталт ашигладаг:
python
оюутнууд = ["Болд", "Сарнай", "Анар"]
for оюутан in оюутнууд:
print(f"Сайн уу, {оюутан}!")
# Индекстэй хамт
for i, оюутан in enumerate(оюутнууд, start=1):
print(f"{i}. {оюутан}")
Шалгалт — in ба not in
python
жимснүүд = ["алим", "гүйлс", "үзэм"]
print("алим" in жимснүүд) # True
print("тавиу" in жимснүүд) # False
print("тавиу" not in жимснүүд) # True
# Практик хэрэглээ
хайсан = "гүйлс"
if хайсан in жимснүүд:
print(f"{хайсан} байна")
else:
print(f"{хайсан} байхгүй")
List дотор list (nested list)
python
матриц = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
print(матриц[0]) # [1, 2, 3]
print(матриц[1][2]) # 6 — хоёр дахь мөрийн гурав дахь элемент
# Бүх элементийг хэвлэх
for мөр in матриц:
for элемент in мөр:
print(элемент, end=" ")
print()
# 1 2 3
# 4 5 6
# 7 8 9
Бодит жишээ — оноог шинжлэх
python
онооны_жагсаалт = [72, 88, 91, 65, 78, 84, 56, 93]
хамгийн_их = max(онооны_жагсаалт)
хамгийн_бага = min(онооны_жагсаалт)
дундаж = sum(онооны_жагсаалт) / len(онооны_жагсаалт)
тэнцсэн = [оноо for оноо in онооны_жагсаалт if оноо >= 60]
print(f"Нийт оюутан: {len(онооны_жагсаалт)}")
print(f"Дундаж оноо: {дундаж:.1f}")
print(f"Хамгийн өндөр: {хамгийн_их}")
print(f"Хамгийн бага: {хамгийн_бага}")
print(f"Тэнцсэн: {len(тэнцсэн)}/{len(онооны_жагсаалт)}")
Гаралт:
код
Нийт оюутан: 8
Дундаж оноо: 78.4
Хамгийн өндөр: 93
Хамгийн бага: 56
Тэнцсэн: 7/8
Дараагийн хичээлд:
List үүсгэж, уншиж, өөрчилж сурлаа! Дараа нь list-тэй ажиллах append, remove, sort, pop зэрэг бүх чухал методуудыг практикаар судална.