在Python中使用基于索引的位置搜索查找列表中的重复元素



下面是一个基于Javascript的代码,可以查找数组中是否存在重复元素

function hd(Ar)
{
let ev = [];
for (let i = 0; i < Ar.length; i++)
{
if(ev[Ar[i]] === 1)
{
return true;
}
else
{
ev[Ar[i]] = 1;
}
}
return false;
}
console.log(hd([1,2,3,4,5,1]))

我试图创建一个Python等效代码相同。下面是我尝试使用字典,但它产生了键错误,因为最初,字典是空的。

def find_dupes(A):
n = len(A)
D = {}
for i in A:
if D[i] == 1:
return True
else:
D[i] = 1
return False
print(find_dupes([3,5,4])) # Supposed to return False
print(find_dupes([3,5,4,5])) # Supposed to return True

我正在寻找任何Python等效代码来实现与我使用Javascript获得的相同结果。算法应该以这样一种方式进行,即将值放入与其值相同的索引中。

我想这就是你想要的:

def find_dupes(A):
n = len(A)
D = {}
for i in A:
if D.get(i) == 1:
return True
else:
D[i] = 1
return False
print(find_dupes([3,5,4])) # Supposed to return False
print(find_dupes([3,5,4,5])) # Supposed to return True

相关内容

  • 没有找到相关文章