Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình xóa các mục trùng lặp trong danh sách bằng Python

Giả sử chúng ta có một danh sách các số gọi là num, chúng ta phải loại bỏ các số xuất hiện nhiều lần trong danh sách, chúng ta cũng phải giữ nguyên thứ tự xuất hiện trong danh sách ban đầu.

Vì vậy, nếu đầu vào là nums =[2, 4, 6, 1, 4, 6, 9], thì đầu ra sẽ là [2, 1, 9], vì các phần tử này chỉ xuất hiện một lần.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • dict:=một bản đồ mới
  • đối với mỗi tôi trong nums, thực hiện
    • nếu tôi không có trong dict, thì
      • dict [i]:=0
    • dict [i]:=dict [i] + 1
  • trả về một danh sách với tất cả các phần tử e trong nums trong đó dict [e] là 1

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, nums):
      dict = {}
      for i in nums:
         if i not in dict:
            dict[i] = 0
         dict[i] = dict[i] + 1
      return [k for k, v in dict.items() if v == 1]
ob = Solution()
nums = [2, 4, 6, 1, 4, 6, 9] print(ob.solve(nums))

Đầu vào

[2, 4, 6, 1, 4, 6, 9]

Đầu ra

[2, 1, 9]