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

  • 时间:2020-09-18 17:39:21
  • 分类:网络文摘
  • 阅读:108 次
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) —

推荐阅读:
数学题:丢番图的墓志铭  数学题:如果一个圆柱体的底面直径与高相等  数学题:卧车和客车所行路程比15:16  要将糖和水按5:100的比配制成糖水  数学题:一个长方体木块与一个正方体木块刚好可以拼成一个大长方体木块  数学题:如果每间5人,则有14人没床位  都是马虎惹的祸作文400字  美中不足  诗酒永相随(文/白水先生)  学习古人的智慧 
评论列表
添加评论