Xóa các bản sao khỏi danh sách Python bằng chức năng
Trong hướng dẫn này, chúng ta sẽ tìm hiểu các phương pháp khác nhau để loại bỏ các bản sao này khỏi danh sách trong Python Show
Hãy để chúng tôi thảo luận chi tiết từng người trong số họ Phương pháp tiếp cận cơ bảnTrong phương pháp đầu tiên, chúng ta sẽ thảo luận về cách tiếp cận cơ bản để xóa các bản sao khỏi danh sách bằng Python đầu ra The initialized list is [12, 15, 11, 12, 8, 15, 3, 3] The resultant list after removing duplicates is [12, 15, 11, 8, 3] Giải trình Vì vậy, bây giờ là lúc để xem qua lời giải thích của chương trình trên
Trong chương trình thứ hai, chúng tôi sẽ sử dụng khả năng hiểu danh sách để đáp ứng mục tiêu của chúng tôi Sử dụng danh sách hiểuChương trình sau đây minh họa tương tự- đầu ra The initialized list is [12, 15, 11, 12, 8, 15, 3, 3] The resultant list after removing duplicates is [12, 15, 11, 8, 3] Giải trình Hãy hiểu những gì chúng tôi đã làm trong chương trình trên-
Trong cách tiếp cận thứ ba, chúng ta sẽ xem cách set() có thể được sử dụng để lấy danh sách các phần tử riêng biệt Sử dụng Bộ()Chương trình đưa ra dưới đây cho thấy làm thế nào nó có thể được thực hiện- đầu ra The initialized list is [12, 15, 11, 12, 8, 15, 3, 3] The resultant list after removing duplicates is [12, 15, 11, 8, 3] Giải trình Hãy thử và hiểu những gì đã xảy ra ở đây,
Sử dụng liệt kê()Bây giờ hãy xem cách enumerate() có thể được sử dụng để đáp ứng mục tiêu của chúng ta Chương trình sau đây minh họa tương tự- đầu ra The initialized list is [12, 15, 11, 12, 8, 15, 3, 3] The resultant list after removing duplicates is [12, 15, 11, 8, 3] Giải trình
Cuối cùng, trong chương trình cuối cùng, chúng ta sẽ xem cách OrderedDict có thể được sử dụng để xóa các bản sao khỏi danh sách bằng Python Sử dụng OrderedDictChương trình đưa ra dưới đây cho thấy làm thế nào nó có thể được thực hiện- đầu ra The initialized list is [12, 15, 11, 12, 8, 15, 3, 3] The resultant list after removing duplicates is [12, 15, 11, 8, 3] Giải trình
Phần kết luậnTrong hướng dẫn này, chúng ta đã khám phá và học một số phương pháp thú vị để loại bỏ các mục trùng lặp khỏi danh sách trong Python Bạn có thể xóa các bản sao khỏi Python bằng lệnh dict. fromkeys(), tạo từ điển loại bỏ mọi giá trị trùng lặp. Bạn cũng có thể chuyển đổi một danh sách thành một tập hợp. Bạn phải chuyển đổi từ điển hoặc đặt lại thành danh sách để xem danh sách có các từ trùng lặp đã bị xóa Khi bạn đang làm việc với một danh sách trong Python, có thể xảy ra trường hợp bạn muốn xóa các mục trùng lặp khỏi danh sách. Ví dụ: giả sử bạn là một đầu bếp đang hợp nhất thực đơn cũ và mới cho nhà hàng của bạn. Bạn có thể muốn loại bỏ bất kỳ sự trùng lặp nào xảy ra khi kết hợp hai menu Hướng dẫn này sẽ bao gồm việc sử dụng dict. phương thức fromkeys() chuyển đổi danh sách thành tập hợp. Chúng ta sẽ thảo luận về cách chuyển đổi đầu ra từ hai phương thức này thành danh sách để bạn có thể diễn giải dữ liệu của mình dưới dạng danh sách Python Xóa các bản sao khỏi danh sáchBạn có thể xóa các bản sao bằng cách sử dụng bộ Python hoặc lệnh dict. phương thức fromkeys() mệnh lệnh. Phương thức fromkeys() chuyển đổi danh sách thành từ điển. Từ điển không thể chứa các giá trị trùng lặp để từ điển chỉ có các giá trị duy nhất được trả về bởi dict. fromkeys() Các bộ, giống như từ điển, không được chứa các giá trị trùng lặp. Nếu chúng tôi chuyển đổi một danh sách thành một tập hợp, tất cả các bản sao sẽ bị xóa Python Xóa các bản sao khỏi danh sách. mệnh lệnh. fromkeys()Từ điển Python lưu trữ dữ liệu theo cấu trúc khóa/giá trị. Từ điển ánh xạ các khóa thành các giá trị và tạo một cặp lưu trữ dữ liệu trong Python Từ điển trong Python không thể bao gồm các khóa trùng lặp. Nếu chúng tôi chuyển đổi danh sách của mình thành từ điển, nó sẽ xóa mọi giá trị trùng lặp. Đó là nơi phương thức fromkeys() xuất hiện mệnh lệnh. fromkeys() Ví dụfromkeys() là một chức năng tích hợp tạo từ điển từ các khóa bạn đã chỉ định. Vì từ điển không thể bao gồm các khóa trùng lặp nên hàm sẽ xóa mọi giá trị trùng lặp khỏi danh sách của chúng tôi. Sau đó, chúng tôi có thể chuyển đổi từ điển của mình trở lại danh sách » THÊM. Toán tử logic Python Cú pháp của phương thức fromkeys() như sau dictionary_name.fromkeys(keys, value) fromkeys nhận hai tham số. khóa và giá trị. Tham số keys là iterable, chỉ định các khóa của từ điển mới mà bạn muốn tạo. Tham số giá trị của chúng tôi là tùy chọn và giữ giá trị cho tất cả các khóa. Chúng tôi không cần tham số này cho ví dụ này, vì vậy chúng tôi sẽ bỏ qua nó Giả sử chúng ta là một đầu bếp đang hợp nhất thực đơn pizza cũ và mới thành một thực đơn lớn. Thực đơn mới bao gồm một số loại pizza mới mà chúng tôi đã nghiên cứu trong nhiều tháng. Nhưng, chúng tôi muốn cung cấp các loại pizza trên thực đơn cũ. Chúng tôi không muốn các bản trùng lặp xuất hiện trên menu vì điều đó sẽ gây nhầm lẫn cho khách hàng Để loại bỏ bất kỳ sự trùng lặp nào có thể tồn tại trong menu mới, chúng ta có thể sử dụng đoạn mã sau new_menu = ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Hawaiian', 'Bacon', 'Black Olive Special', 'Sausage', 'Sausage'] final_new_menu = list(dict.fromkeys(new_menu)) print(final_new_menu) Mã của chúng tôi loại bỏ các phần tử trùng lặp và trả về ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Bacon', 'Black Olive Special', 'Sausage'] Ở dòng đầu tiên, chúng ta khai báo một biến Python có tên new_menu lưu trữ tất cả các loại pizza trên menu mới. Lưu ý rằng danh sách này chứa các giá trị trùng lặp — cả Sausage và Hawaiian đều xuất hiện hai lần trong danh sách Python Chúng tôi sử dụng lệnh. fromkeys() để tạo từ điển từ biến new_menu của chúng ta. Tiếp theo, chúng tôi sử dụng list() để chuyển đổi dữ liệu của mình từ từ điển sang mảng Python hoặc danh sách. Trên dòng mã cuối cùng, chúng tôi in ra danh sách đã sửa đổi của mình » THÊM. Python pip. Hướng dẫn đầy đủ Như bạn có thể thấy, chương trình của chúng tôi đã xóa các giá trị trùng lặp khỏi dữ liệu của chúng tôi và Sausage và Hawaiian xuất hiện một lần trong danh sách mới của chúng tôi Xóa các bản sao khỏi danh sách Python. bộĐối tượng tập hợp Python là một cấu trúc dữ liệu không có thứ tự và không được lập chỉ mục. Đặt bộ sưu tập lưu trữ các mục duy nhất trong Python. Không giống như danh sách, bộ không thể lưu trữ các giá trị trùng lặp Vì vậy, vì các bộ không thể lưu trữ các mục trùng lặp, chúng tôi có thể chuyển đổi danh sách của mình thành một bộ để loại bỏ chúng. Trong Python, bộ là danh sách các mục được phân tách bằng dấu phẩy được đặt trong dấu ngoặc nhọn. Đây là một ví dụ về một bộ trong Python lưu trữ danh sách các loại pizza ________số 8 Loại bỏ các bản sao bằng cách sử dụng một ví dụ tập hợpHãy lấy ví dụ của chúng tôi ở trên để minh họa cách các bộ có thể được sử dụng để loại bỏ các giá trị trùng lặp khỏi danh sách Giả sử rằng chúng tôi là một đầu bếp pizza muốn hợp nhất cả thực đơn cũ và mới của chúng tôi. Nhưng có thể có các bản sao giữa các menu này mà chúng tôi sẽ muốn xóa trước khi tạo menu cuối cùng của chúng tôi. Để loại bỏ các bản sao này bằng cách sử dụng phương pháp thiết lập, chúng ta có thể sử dụng đoạn mã sau new_menu = ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Hawaiian', 'Bacon', 'Black Olive Special', 'Sausage', 'Sausage'] final_new_menu = list(set(new_menu)) print(final_new_menu) Đây là danh sách của chúng tôi sau khi loại bỏ các giá trị trùng lặp The initialized list is [12, 15, 11, 12, 8, 15, 3, 3] The resultant list after removing duplicates is [12, 15, 11, 8, 3]0 Khi bắt đầu chương trình, chúng tôi khai báo một danh sách có tên new_menu lưu trữ tất cả các loại pizza trên menu mới Sau đó, chúng tôi khai báo một biến có tên là final_new_menu lưu trữ menu đã sửa đổi của chúng tôi. Biến này chuyển đổi biến new_menu thành một tập hợp bằng cách sử dụng set(), sau đó chuyển đổi tập hợp trở lại danh sách bằng cách sử dụng list(). Quá trình này loại bỏ tất cả các giá trị trùng lặp trong biến new_menu của chúng tôi » THÊM. Lỗi giá trị Python. max() arg là một dãy rỗng Giải pháp Cuối cùng, chương trình của chúng tôi in menu mới ra bàn điều khiển. Tất cả các phần tử duy nhất từ đối tượng danh sách ban đầu xuất hiện. Bây giờ chúng tôi có một danh sách duy nhất Phần kết luậnXóa các mục trùng lặp khỏi danh sách là một thao tác phổ biến trong Python. Không có phương pháp chính thức nào nên được sử dụng để xóa các bản sao khỏi danh sách. Cách tiếp cận phổ biến nhất là sử dụng hàm fromkeys() trong từ điển hoặc chuyển đổi dữ liệu của bạn thành một tập hợp Trong hướng dẫn này, chúng ta đã thảo luận cách sử dụng hàm fromkeys() trong từ điển và các bộ để loại bỏ các mục trùng lặp khỏi danh sách trong Python "Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. " Venus, Kỹ sư phần mềm tại Rockbot Find Your Bootcamp MatchĐể tìm hiểu thêm về lập trình Python, hãy đọc hướng dẫn Cách học Python của chúng tôi 1 Xếp hạng Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK |