Sử dụng Show
Nếu đơn hàng không quan trọng thì chỉ cần sử dụng Phương pháp 3: Sử dụng Set (). Phương pháp 4: Sử dụng danh sách hiểu + liệt kê ().Trong câu trả lời này, sẽ có hai phần: hai giải pháp duy nhất và đồ thị tốc độ cho các giải pháp cụ thể.
Để cho phép các khóa không thể không thể truy cập được, tôi đã tạo một lớp container, sẽ cố gắng lấy hàm băm mặc định của đối tượng, nhưng nếu nó thất bại, nó sẽ thử chức năng nhận dạng của nó. Nó cũng định nghĩa một phương pháp EQ và một phương pháp băm. Điều này là đủ để cho phép các mặt hàng không thể không thể vượt qua trong giải pháp của chúng tôi. Các đối tượng không thể đo được sẽ được đối xử như thể chúng có thể băm. Tuy nhiên, hàm băm này sử dụng danh tính cho các đối tượng không thể không thể, có nghĩa là hai đối tượng bằng nhau đều không thể không hoạt động được. Tôi đề nghị bạn ghi đè lên điều này và thay đổi nó để sử dụng băm của một loại có thể thay đổi tương đương (như sử dụng Tôi cũng đã thực hiện hai giải pháp. Một giải pháp khác giữ thứ tự của các mục, sử dụng một lớp con của cả hai đơn đặt hàng và bộ đếm được đặt tên là 'đặt hàng'. Bây giờ, đây là các chức năng:
0 được sắp xếp không theo thứ tự, trong khi 1 được sắp xếp. Bạn có thể nói rõ cái nào nhanh hơn, nhưng tôi sẽ giải thích dù sao đi nữa. Việc sắp xếp không được đặt hàng nhanh hơn một chút, vì nó không lưu trữ thứ tự của các mục.Bây giờ, tôi cũng muốn hiển thị các so sánh tốc độ của mỗi câu trả lời. Vì vậy, tôi sẽ làm điều đó ngay bây giờ. Chức năng nào là nhanh nhất?Để loại bỏ các bản sao, tôi đã thu thập 10 chức năng từ một vài câu trả lời. Tôi đã tính toán tốc độ của từng hàm và đặt nó vào một biểu đồ bằng cách sử dụng matplotlib.pyplot. Tôi chia điều này thành ba vòng vẽ đồ thị. A Hashable là bất kỳ đối tượng nào có thể được băm, không thể không được là bất kỳ đối tượng nào không thể được băm. Một chuỗi được đặt hàng là một chuỗi bảo tồn thứ tự, một chuỗi không theo thứ tự không bảo tồn thứ tự. Bây giờ, đây là một vài điều khoản nữa: Hashable không có thứ tự là cho bất kỳ phương pháp nào đã loại bỏ các bản sao, mà không nhất thiết phải giữ thứ tự. Nó không phải làm việc cho các thiết bị không có, nhưng nó có thể. Hashable có thể đặt hàng là cho bất kỳ phương pháp nào giữ thứ tự của các mục trong danh sách, nhưng nó không phải làm việc cho các thiết bị không được miễn phí, nhưng nó có thể. Đặt hàng không thể không được là bất kỳ phương pháp nào giữ thứ tự của các mục trong danh sách và làm việc cho các thiết bị không. Trên trục y là số giây nó đã mất. Trên trục x là số hàm được áp dụng. Tôi đã tạo trình tự cho các băm chưa được đặt hàng và các băm được đặt hàng với độ hiểu sau: 2Đối với các đơn đặt hàng không được đặt hàng: 3Lưu ý có một 4 trong phạm vi vì không có nó, điều này sẽ mất 10 lần. Ngoài ra bởi vì theo ý kiến cá nhân của tôi, tôi nghĩ rằng nó có thể dễ đọc hơn một chút.Cũng lưu ý các khóa trên truyền thuyết là những gì tôi đã cố gắng đoán là phần quan trọng nhất của việc thực hiện chức năng. Đối với những chức năng tồi tệ nhất hay tốt nhất? Biểu đồ nói cho chính nó. Với điều đó đã được giải quyết, đây là các biểu đồ. Hashables không có thứ tự(Phóng to lên)Đặt hàng Hashables(Phóng to lên)Đặt hàng Hashables(Phóng to lên)Cái nào không cho phép trùng lặp trong Python?Bộ không thể chứa các bản sao.Các bản sao bị loại bỏ khi khởi tạo một tập hợp.Nếu thêm một phần tử vào một tập hợp và phần tử đó đã được chứa trong tập hợp, thì tập hợp sẽ không thay đổi. cannot contain duplicates. Duplicates are discarded when initializing a set. If adding an element to a set, and that element is already contained in the set, then the set will not change.
Loại danh sách nào không cho phép trùng lặp?Bản sao: ArrayList cho phép các giá trị trùng lặp trong khi Hashset không cho phép các giá trị trùng lặp.HashSet doesn't allow duplicates values.
Làm thế nào để bạn ngăn chặn các bản sao trong danh sách Python?Nếu thứ tự của các phần tử không quan trọng, chúng ta có thể loại bỏ các bản sao bằng phương thức đã đặt và hàm độc đáo () numpy.Chúng ta có thể sử dụng các hàm gấu trúc, đặt hàng, giảm hàm (), đặt phương thức + sort () và các phương pháp lặp để giữ thứ tự của các phần tử.using the Set method and the Numpy unique() function. We can use Pandas functions, OrderedDict, reduce() function, Set + sort() method, and iterative approaches to keep the order of elements.
Làm thế nào để bạn tránh các bản sao trong một danh sách?Xóa các bản sao khỏi hoạt động danh sách có một số lượng lớn các ứng dụng và do đó, kiến thức của nó là tốt để có ... Phương pháp 1: Sử dụng *set (). Phương pháp 2: Sử dụng danh sách hiểu .. Phương pháp 3: Sử dụng Set (). Phương pháp 4: Sử dụng danh sách hiểu + liệt kê (). |