我们得到了一个数组,我们必须找到在数组中仅出现一次的元素。
input:array = 1 2 3 6 5 4 4 2 5 3 6 1 6 5 3 2 4 1 2 5 1 4 3 6 8 4 3 1 5 6 2
#1
counte=[0]*(max(array)+1)
for i in array:
counte[i]+=1
for j in range(len(counte)):
if counte[j]==1:
print(j)
break
else:
pass
#2
counte=[0 for k in range(max(array)+1)]
for i in array:
counte[i]+=1
print(counte)
for j in counte:
if j==1:
print(counte[j])
break
else:
pass
code1输出正确的值8,但是code2输出值5。 我不明白为什么code2的输出是5。
答案 0 :(得分:0)
您太复杂了,应该给您数-决定如何处理只发生一次的:)
arr = [1, 3, 3, 1, 5, 8, 5, 4, 4]
for i in arr:
print(str(i) + ' = ' + str(arr.count(i)))
PS。如果您的版本是3.6+,则可以使用f-strings使其变得更好:
print(f'{i} = {arr.count(i)}')