Python дээр жагсаалтыг өсөх эсвэл буурах дарааллаар эрэмбэлэх хоёр арга бий.
sort()
sorted()
Хэрэв та мөр эсвэл хэлхээг эрэмбэлэхийг хүсвэл sorted()-г ашиглана уу.
Дараах мэдээллийг энд оруулав.
- Анхны жагсаалтыг эрэмбэлдэг жагсаалтын төрлийн арга
sort()
- Шинэ эрэмбэлэгдсэн жагсаалт үүсгэх, суурилуулсан функц: .
sorted()
- Мөр, хэлхээг хэрхэн эрэмбэлэх вэ
Анхны жагсаалтыг эрэмбэлэх, жагсаалтын төрлийн арга: sort()
sort() нь жагсаалтын төрлийн арга юм.
Анхны жагсаалт нь өөрөө дахин бичигдсэн сүйрлийн процесс.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
sort() нь None-г буцаадаг гэдгийг анхаарна уу.
print(org_list.sort())
# None
Өсөх дараалал нь анхдагч юм. Хэрэв та буурах дарааллаар эрэмбэлэхийг хүсвэл аргументыг үнэн гэж тохируулна уу.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Шинэ эрэмбэлэгдсэн жагсаалт үүсгэх, суулгасан функц: sorted()
sorted() нь суурилагдсан функц юм.
Эрэмбэлэх жагсаалтыг аргумент болгон зааж өгсөн тохиолдолд эрэмбэлэгдсэн жагсаалтыг буцаана. Энэ бол анхны жагсаалтыг өөрчлөхгүй үл эвдэх процесс юм.
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
Sort()-ын нэгэн адил өгөгдмөл нь өсөх дараалал юм. Хэрэв та буурах дарааллаар эрэмбэлэхийг хүсвэл аргументыг үнэн гэж тохируулна уу.
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
Мөр, хэлхээг хэрхэн эрэмбэлэх вэ
Мөр болон хэлхээ нь өөрчлөгддөггүй тул эх объектыг дахин бичих sort() арга байхгүй.
Нөгөө талаас эрэмбэлэгдсэн жагсаалтыг шинэ объект болгон үүсгэдэг sorted() функцийн аргумент нь жагсаалтаас гадна тэмдэгт мөр эсвэл залгуур байж болно. Гэсэн хэдий ч sorted() нь жагсаалтыг буцаадаг тул түүнийг мөр эсвэл tuple болгон хөрвүүлэх шаардлагатай.
Мөрүүдийг эрэмбэлэх
Мөрийг sorted() функцийн аргумент болгон зааж өгсөн тохиолдолд эрэмбэлэгдсэн мөрийн тэмдэгт бүрийг элемент болгон хадгалах жагсаалтыг буцаана.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
Мөрнүүдийн жагсаалтыг нэг мөр болгон нэгтгэхийн тулд join() аргыг ашиглана.
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Хэрэв та буурах дарааллаар эрэмбэлэхийг хүсвэл аргументыг үнэн гэж тохируулна уу.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
Мөрийн хэмжээг тухайн тэмдэгтийн Юникод кодын цэгээр (тэмдэгтийн код) тодорхойлно.
Хавтангуудыг эрэмбэлэх
Tuples нь мөртэй ижил байна; sorted() функцийн аргумент болгон tuple зааж өгвөл элементийн эрэмбэлэгдсэн жагсаалтыг буцаана.
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
Жагсаалтыг tuple болгон хөрвүүлэхийн тулд tuple() ашиглана уу.
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Хэрэв та буурах дарааллаар эрэмбэлэхийг хүсвэл аргументыг үнэн гэж тохируулна уу.
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)