Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Perpustakaan `natsort` Python Mencapai Pengisihan Semula Jadi?

Bagaimanakah Perpustakaan `natsort` Python Mencapai Pengisihan Semula Jadi?

Patricia Arquette
Lepaskan: 2024-12-28 18:09:10
asal
757 orang telah melayarinya

How Does Python's `natsort` Library Achieve Natural Sorting?

Isih Asli dalam Python

Dalam Python, fungsi sorted() mengisih rentetan dalam susunan ASCIIbetical. Walau bagaimanapun, untuk senario di mana jenis semula jadi diingini, perpustakaan yang dipanggil natsort datang untuk menyelamatkan.

Isih Semulajadi dengan natsort

natsort menyediakan kedua-dua fungsi pengisihan dan kunci pengisihan. Untuk fungsi pengisihan, anda boleh menggunakan natsorted():

from natsort import natsorted

l = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
natsorted(l, key=lambda y: y.lower())
Salin selepas log masuk

Ini akan mengisih senarai mengikut susunan semula jadi ('elm0', 'elm1', dsb.).

Isih Kunci dengan natsort_keygen

Jika kunci pengisihan lebih sesuai, anda boleh menggunakan natsort_keygen():

from natsort import natsort_keygen

l = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
sort_key = natsort_keygen(key=lambda y: y.lower())
l.sort(key=sort_key)
Salin selepas log masuk

Ini akan mengisih senarai dalam susunan semula jadi yang sama.

Kes Khas: Isih seperti Windows Explorer

natsort juga menyediakan fungsi os_sorted untuk susun dalam susunan yang sama seperti penyemak imbas sistem fail pada sistem pengendalian tertentu:

from natsort import os_sorted

paths = ['path/to/file1', 'path/to/file10', 'path/to/file2']
os_sorted(paths)
Salin selepas log masuk

Ini akan mengisih laluan mengikut peneroka fail sistem pengendalian.

Atas ialah kandungan terperinci Bagaimanakah Perpustakaan `natsort` Python Mencapai Pengisihan Semula Jadi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan