How to Check if Array/List Contains Duplicate Numbers or Strings

  • 时间:2020-09-18 17:39:21
  • 分类:网络文摘
  • 阅读:143 次
python-300x101 How to Check if Array/List Contains Duplicate Numbers or Strings in Python using Set? python

python

In Python, we can check if an array or list contains duplicate items using the following one-liner function.

1
2
def contain_duplicates(list):
    return len(set(list)) != len(list)
def contain_duplicates(list):
    return len(set(list)) != len(list)

The idea is to convert the list/array to set, then we can use the len function to get the sizes of the set and the original list/array. If they are both equal, then the array or list does not contain any duplicate items.

1
2
3
4
5
6
7
8
>>> contain_duplicates([1,2,3,4])
False
>>> contain_duplicates([1,2,3,4,2])
True
>>> contain_duplicates(["aa", "bb"])
False
>>> contain_duplicates(["aa", "bb", "aa"])
True
>>> contain_duplicates([1,2,3,4])
False
>>> contain_duplicates([1,2,3,4,2])
True
>>> contain_duplicates(["aa", "bb"])
False
>>> contain_duplicates(["aa", "bb", "aa"])
True

Alternatively, you can use the following naive solution based on set.

1
2
3
4
5
6
7
def contain_duplicates(list):
   data = set()
   for i in list:
      if i in data:
         return True
      data.add(i)
   return False 
def contain_duplicates(list):
   data = set()
   for i in list:
      if i in data:
         return True
      data.add(i)
   return False 

The time complexity is O(N) and the space requirement is O(N) as well given the size of the list is N.

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
Coding Interview Tips for Software Engineers  A Math Problem: How old is everybody in the Family?  String/Object in Array Testing in Java – using Arrays.asLi  Algorithm to Compute the Revenue Milestones  How to Modify the Git Commit Messages After Your Push Your Branc  Personal Cloud Options to Backup Data and Photos  Greedy Algorithm to Find the Lexicographically Smallest Sequence  ReactiveX/RxJava Tutorial: Compute the Fibonacci Numbers using R  What are Big4 Tech Companies looking for in the technical interv  Design a Moving Average Class for Data Stream 
评论列表
添加评论