即使输入相同,相同的代码也会提供不同的输出

时间:2019-06-20 11:44:27

标签: python-3.x sorting

我们得到了一个数组,我们必须找到在数组中仅出现一次的元素。

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。

1 个答案:

答案 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)}')