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

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

推荐阅读:
对大豆制品存在的一些认识误区  食品安全:广州镉超标大米事件追踪  味精的食用安全性及合适用量问题  食品安全问题并不是食品添加剂的错  温州苍南黑作坊两年产千吨剧毒湿米面  食药监总局提醒注意保健食品五大陷阱  对儿童健康成长有益的六大食物  健康养生:七种常见的黑色滋补食物  竹炭食品排毒就是一个忽悠人的概念  中华人民共和国食品安全法(全文) 
评论列表
添加评论