Hướng dẫn how do you zero a padding in python? - làm thế nào để bạn không có phần đệm trong python?
3 đặc biệt nhằm mục đích làm điều này: Show
Lưu ý rằng nó được dự định cụ thể để xử lý các chuỗi số theo yêu cầu và di chuyển một 4 hoặc 5 sang đầu chuỗi:
Đây là sự giúp đỡ trên 3:
Màn biểu diễnĐây cũng là hiệu suất nhất của các phương pháp thay thế:
Để so sánh tốt nhất táo với táo cho phương pháp 7 (lưu ý nó thực sự chậm hơn), nếu không sẽ tính trước:
Thực hiệnVới một chút đào, tôi đã tìm thấy việc triển khai phương thức 8 trong 9:
Hãy đi qua mã C này. Trước tiên, nó phân tích đối số ở vị trí, có nghĩa là nó không cho phép các đối số từ khóa:
Sau đó, nó kiểm tra xem nó có cùng độ dài hoặc dài hơn không, trong trường hợp đó nó trả về chuỗi.
8 gọi 1 (hàm 1 này cũng được gọi bởi 3, 4 và 5 cũng vậy). Điều này về cơ bản sao chép nội dung vào một chuỗi mới và điền vào phần đệm.
Sau khi gọi 1, 8 di chuyển bất kỳ trước đó trước 4 hoặc 5 đến đầu chuỗi.Lưu ý rằng để chuỗi ban đầu thực sự là không cần số: Bài viết này cho thấy cách đệm một chuỗi số với số 0 ở bên trái sao cho chuỗi có độ dài cụ thể. Nó cũng cho thấy cách các con số có thể được chuyển đổi thành một chuỗi được định dạng với số không dẫn đầu. Sử dụng >>> min(timeit.repeat(lambda: '1'.zfill(4))) 0.18824880896136165 >>> min(timeit.repeat(lambda: '1'.rjust(4, '0'))) 0.2104538488201797 >>> min(timeit.repeat(lambda: f'{1:04}')) 0.32585487607866526 >>> min(timeit.repeat(lambda: '{:04}'.format(1))) 0.34988890308886766 0Zfill là phương pháp tốt nhất để pad zeros từ phía bên trái vì nó cũng có thể xử lý dấu hiệu '+' hoặc '-' hàng đầu. Nó trả về một bản sao của chuỗi bên trái chứa đầy các chữ số '0' để tạo một chuỗi chiều rộng. Một tiền tố dấu hiệu hàng đầu ('+'/'-') được xử lý bằng cách chèn phần đệm sau ký tự dấu hiệu chứ không phải trước. Chuỗi ban đầu được trả về nếu chiều rộng nhỏ hơn hoặc bằng Len (s). 0Sử dụng >>> min(timeit.repeat(lambda: '1'.zfill(4))) 0.18824880896136165 >>> min(timeit.repeat(lambda: '1'.rjust(4, '0'))) 0.2104538488201797 >>> min(timeit.repeat(lambda: f'{1:04}')) 0.32585487607866526 >>> min(timeit.repeat(lambda: '{:04}'.format(1))) 0.34988890308886766 1Nếu bạn muốn chèn một ký tự tùy ý ở phía bên trái, hãy sử dụng rjust. Nó trả về một bản sao của đối tượng đúng được chứng minh theo một chuỗi chiều rộng. Nhân vật điền mặc định là một không gian. Tuy nhiên, điều này không xử lý một tiền tố dấu hiệu. 1Các số có thể được đệm với định dạng chuỗiĐã chuyển đổi một số thành một chuỗi được định dạng với các số không dẫn đầu bằng cách sử dụng định dạng chuỗi: 2Xem thêm trong tài liệu định dạng chuỗi |