Trăn sáng

Phương thức Python String light[] được sử dụng để căn trái chuỗi với chiều rộng được chỉ định. Nếu chiều rộng được chỉ định lớn hơn chiều dài của chuỗi, thì phần còn lại của chuỗi được điền bằng fillchar

Fillchar mặc định là một khoảng trống. Chuỗi ban đầu được truy xuất nếu chiều rộng nhỏ hơn hoặc bằng chiều dài chuỗi đã cho

Ghi chú. Chỉ một ký tự cụ thể có thể được đề cập để lấp đầy phần còn lại của chuỗi bằng fillchar

cú pháp

Sau đây là cú pháp của phương thức Python String light[]

str.ljust[width[, fillchar]]

Thông số

  • chiều rộng - Đây là tổng chiều dài chuỗi sau khi đệm

  • fillchar − Đây là ký tự phụ;

Giá trị trả về

Phương thức này trả về một chuỗi căn trái với ký tự lấp đầy được chỉ định làm đối số thay cho khoảng trống. Chuỗi ban đầu được trả về nếu chiều rộng nhỏ hơn chiều dài chuỗi

Ví dụ

Trong ví dụ sau, chuỗi được tạo "đây là chuỗi ví dụ. ồ. " được căn lề trái. Sau đó, các khoảng trống còn lại ở bên phải được lấp đầy bằng ký tự được chỉ định “0” làm đối số fillchar sử dụng phương thức Python String light[]. Kết quả sau đó được lấy ra

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]

Khi chúng tôi chạy chương trình trên, nó tạo ra kết quả sau

this is string example....wow!!!000000000000000000

Ví dụ

Sau đây là một ví dụ trong đó một chuỗi mới có độ dài 89 được tạo và căn chỉnh chuỗi 'Lập trình' đã tạo ở bên trái. Vì không cung cấp fillchar nên giá trị mặc định của khoảng trắng được sử dụng. Do đó, kết quả 'Lập trình' với 78 khoảng trống bên phải được lấy ra

text = 'Programming'
# left-aligning the string
x = text.ljust[89]
print['The string after aligning is:', x]

Trong khi thực thi đoạn mã trên, chúng tôi nhận được đầu ra sau

The string after aligning is: Programming                                                                   

Ví dụ

Trong ví dụ dưới đây, chúng tôi đang tạo một từ điển có 3 cặp khóa-giá trị. Sau đó, chúng tôi đang cố gắng in các cặp giá trị được phân tách bằng ". " chúng tôi đang sử dụng phương thức light[] để làm như vậy

# providing the dictionary
dictionary = {'Name':'Sachin', 'Sports':'Cricket', 'Age':49}
# iterating on each item of the dictionary
for keys, value in dictionary.items[]:
   print[str[keys].ljust[6, ' '],":", str[value]]

Đầu ra của đoạn mã trên như sau

Name   : Sachin
Sports : Cricket
Age    : 49     

Ví dụ

Sau đây là một ví dụ để chỉ ra rằng nếu nhiều hơn một ký tự được truyền dưới dạng đối số fillchar, nó sẽ đưa ra lỗi vì đối số fillchar chỉ nên chứa một ký tự

Danh sách Python có một phương thức tích hợp để sửa đổi danh sách tại chỗ. Ngoài ra còn có một chức năng tích hợp để xây dựng danh sách được sắp xếp mới từ một lần lặp

Trong tài liệu này, chúng tôi khám phá các kỹ thuật khác nhau để sắp xếp dữ liệu bằng Python

Khái niệm cơ bản về sắp xếp

Một sắp xếp tăng dần đơn giản là rất dễ dàng. chỉ cần gọi chức năng. Nó trả về một danh sách được sắp xếp mới

>>> sorted[[5, 2, 3, 1, 4]]
[1, 2, 3, 4, 5]

Bạn cũng có thể sử dụng phương pháp. Nó sửa đổi danh sách tại chỗ [và trả về

>>> sorted[{1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}]
[1, 2, 3, 4, 5]
1 để tránh nhầm lẫn]. Thông thường, nó kém tiện lợi hơn - nhưng nếu bạn không cần danh sách gốc, thì nó sẽ hiệu quả hơn một chút

>>> a = [5, 2, 3, 1, 4]
>>> a.sort[]
>>> a
[1, 2, 3, 4, 5]

Một điểm khác biệt nữa là phương thức này chỉ được định nghĩa cho danh sách. Ngược lại, chức năng chấp nhận bất kỳ iterable

________số 8

Chức năng chính

Cả hai và có một tham số chính để chỉ định một hàm [hoặc có thể gọi khác] sẽ được gọi trên mỗi phần tử danh sách trước khi thực hiện so sánh

Ví dụ: đây là so sánh chuỗi không phân biệt chữ hoa chữ thường

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
1

Giá trị của tham số khóa phải là một hàm [hoặc hàm có thể gọi khác] nhận một đối số duy nhất và trả về một khóa để sử dụng cho mục đích sắp xếp. Kỹ thuật này nhanh vì chức năng chính được gọi chính xác một lần cho mỗi bản ghi đầu vào

Một mẫu phổ biến là sắp xếp các đối tượng phức tạp bằng cách sử dụng một số chỉ số của đối tượng làm khóa. Ví dụ

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
2

Kỹ thuật tương tự hoạt động cho các đối tượng có thuộc tính được đặt tên. Ví dụ

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
3

Chức năng mô-đun vận hành

Các mẫu hàm khóa hiển thị ở trên rất phổ biến, vì vậy Python cung cấp các hàm tiện lợi để thực hiện các hàm truy cập dễ dàng và nhanh hơn. Mô-đun có , và một chức năng

Sử dụng các chức năng đó, các ví dụ trên trở nên đơn giản và nhanh hơn

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
4

Các chức năng mô-đun toán tử cho phép nhiều cấp độ sắp xếp. Ví dụ: để sắp xếp theo lớp rồi theo tuổi

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
5

Tăng dần và giảm dần

Cả hai và chấp nhận tham số đảo ngược với giá trị boolean. Điều này được sử dụng để đánh dấu các loại giảm dần. Ví dụ, để lấy dữ liệu sinh viên theo thứ tự tuổi đảo ngược

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
6

Sắp xếp Ổn định và Sắp xếp Phức tạp

Sắp xếp được đảm bảo là. Điều đó có nghĩa là khi nhiều bản ghi có cùng khóa, thứ tự ban đầu của chúng được giữ nguyên

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
7

Lưu ý cách hai bản ghi cho màu xanh lam giữ nguyên thứ tự ban đầu của chúng để đảm bảo

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
13 đứng trước
# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
14

Thuộc tính tuyệt vời này cho phép bạn xây dựng các sắp xếp phức tạp trong một loạt các bước sắp xếp. Ví dụ: để sắp xếp dữ liệu học sinh theo lớp giảm dần rồi tuổi tăng dần, hãy thực hiện sắp xếp theo tuổi trước rồi sắp xếp lại bằng cách sử dụng lớp

>>> a = [5, 2, 3, 1, 4]
>>> a.sort[]
>>> a
[1, 2, 3, 4, 5]
0

Điều này có thể được trừu tượng hóa thành một hàm bao bọc có thể lấy một danh sách và bộ dữ liệu của trường và sắp xếp chúng theo nhiều lượt

>>> a = [5, 2, 3, 1, 4]
>>> a.sort[]
>>> a
[1, 2, 3, 4, 5]
1

Thuật toán Timsort được sử dụng trong Python thực hiện nhiều loại một cách hiệu quả vì nó có thể tận dụng mọi thứ tự đã có trong tập dữ liệu

Trang trí-Sắp xếp-Không trang trí

Thành ngữ này được gọi là Trang trí-Sắp xếp-Không trang trí sau ba bước của nó

  • Đầu tiên, danh sách ban đầu được trang trí bằng các giá trị mới kiểm soát thứ tự sắp xếp

  • Thứ hai, danh sách trang trí được sắp xếp

  • Cuối cùng, phần trang trí được loại bỏ, tạo danh sách chỉ chứa các giá trị ban đầu theo thứ tự mới

Ví dụ: để sắp xếp dữ liệu sinh viên theo lớp bằng cách sử dụng phương pháp DSU

>>> a = [5, 2, 3, 1, 4]
>>> a.sort[]
>>> a
[1, 2, 3, 4, 5]
2

Thành ngữ này hoạt động vì các bộ dữ liệu được so sánh theo từ điển;

Trong mọi trường hợp, không nhất thiết phải đưa chỉ mục i vào danh sách được trang trí, nhưng việc đưa chỉ mục này vào sẽ mang lại hai lợi ích

  • Sắp xếp ổn định – nếu hai mục có cùng khóa, thứ tự của chúng sẽ được giữ nguyên trong danh sách đã sắp xếp

  • Các mục ban đầu không cần phải so sánh được vì thứ tự của các bộ được trang trí sẽ được xác định bởi nhiều nhất hai mục đầu tiên. Vì vậy, ví dụ, danh sách ban đầu có thể chứa các số phức không thể sắp xếp trực tiếp

Một tên khác cho thành ngữ này là biến đổi Schwartzian, sau Randal L. Schwartz, người đã phổ biến nó cho các lập trình viên Perl

Giờ đây, sắp xếp Python cung cấp các chức năng chính, kỹ thuật này thường không cần thiết

Hàm so sánh

Không giống như các hàm chính trả về giá trị tuyệt đối để sắp xếp, hàm so sánh tính toán thứ tự tương đối cho hai đầu vào

Ví dụ: thang cân bằng so sánh hai mẫu đưa ra thứ tự tương đối. nhẹ hơn, bằng hoặc nặng hơn. Tương tự như vậy, một hàm so sánh chẳng hạn như

# Initializing the string
str = "this is string example....wow!!!";
print [str.ljust[50, '0']]
15 sẽ trả về giá trị âm cho giá trị nhỏ hơn, 0 nếu giá trị đầu vào bằng nhau hoặc giá trị dương cho giá trị lớn hơn

Thường gặp hàm so sánh khi dịch thuật toán từ ngôn ngữ khác. Ngoài ra, một số thư viện cung cấp các chức năng so sánh như một phần của API của họ. Ví dụ, là một chức năng so sánh

Để phù hợp với những tình huống đó, Python cung cấp hàm so sánh để có thể sử dụng nó như một hàm chính

>>> a = [5, 2, 3, 1, 4]
>>> a.sort[]
>>> a
[1, 2, 3, 4, 5]
3

Vụn vặt

  • Để sắp xếp theo ngôn ngữ, hãy sử dụng cho chức năng chính hoặc cho chức năng so sánh. Điều này là cần thiết vì thứ tự sắp xếp "theo bảng chữ cái" có thể khác nhau giữa các nền văn hóa ngay cả khi bảng chữ cái bên dưới giống nhau

  • Tham số đảo ngược vẫn duy trì tính ổn định sắp xếp [để các bản ghi có khóa bằng nhau giữ nguyên thứ tự ban đầu]. Thật thú vị, hiệu ứng đó có thể được mô phỏng mà không cần tham số bằng cách sử dụng hàm dựng sẵn hai lần

    >>> a = [5, 2, 3, 1, 4]
    >>> a.sort[]
    >>> a
    [1, 2, 3, 4, 5]
    
    4

  • Các thói quen sắp xếp sử dụng

    # Initializing the string
    str = "this is string example....wow!!!";
    print [str.ljust[50, '0']]
    
    21 khi so sánh giữa hai đối tượng. Vì vậy, thật dễ dàng để thêm một thứ tự sắp xếp tiêu chuẩn vào một lớp bằng cách định nghĩa một phương thức
    # Initializing the string
    str = "this is string example....wow!!!";
    print [str.ljust[50, '0']]
    
    22

    >>> a = [5, 2, 3, 1, 4]
    >>> a.sort[]
    >>> a
    [1, 2, 3, 4, 5]
    
    5

    Tuy nhiên, lưu ý rằng

    # Initializing the string
    str = "this is string example....wow!!!";
    print [str.ljust[50, '0']]
    
    21 có thể quay lại sử dụng
    # Initializing the string
    str = "this is string example....wow!!!";
    print [str.ljust[50, '0']]
    
    24 nếu
    # Initializing the string
    str = "this is string example....wow!!!";
    print [str.ljust[50, '0']]
    
    22 không được triển khai [xem phần ]

  • Các chức năng chính không cần phụ thuộc trực tiếp vào các đối tượng được sắp xếp. Một chức năng chính cũng có thể truy cập các tài nguyên bên ngoài. Chẳng hạn, nếu điểm của sinh viên được lưu trữ trong từ điển, chúng có thể được sử dụng để sắp xếp danh sách tên sinh viên riêng biệt

Chủ Đề