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

Chứa bản sao trong Python


Giả sử chúng ta có một danh sách các số. Chúng ta phải kiểm tra xem danh sách có chứa một số yếu tố trùng lặp hay không. Vì vậy, nếu danh sách giống như [1,5,6,2,1,3], thì nó sẽ trả về 1 vì có hai số 1, nhưng nếu danh sách là [1,2,3,4], thì nó sẽ là sai, vì không có bản sao.

Để giải quyết vấn đề này, chúng tôi sẽ thực hiện theo cách tiếp cận này -

Chúng ta biết rằng cấu trúc dữ liệu tập hợp chỉ chứa dữ liệu duy nhất. Nhưng danh sách có thể gấp các nội dung trùng lặp. Vì vậy, nếu chúng ta chuyển đổi danh sách thành tập hợp, kích thước của nó sẽ giảm xuống nếu có bất kỳ phần tử nào trùng lặp, bằng cách khớp với độ dài, chúng ta có thể giải quyết vấn đề này.

Ví dụ

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

class Solution(object):
   def containsDuplicate(self, nums):
      """
      :type nums: List[int]
      :rtype: bool
      """
      return not len(nums) == len(set(nums))
ob1 = Solution()
print(ob1.containsDuplicate([1,5,6,2,1,3]))
print(ob1.containsDuplicate([1,2,3,4]))

Đầu vào

nums = [1,5,6,2,1,3]
nums = [1,2,3,4]

Đầu ra

True
False