如何在Python中从新数组中查找重复值?

时间:2019-04-17 05:36:13

标签: python

我对python还是很陌生,目前停留在这个问题上。基本上,我会列出一个数字并将它们彼此加起来,从零开始。该代码将每一行写到一个新数组中。如果在这个新数组中找到两个相同的数字,它将停止并返回该数字。如果找不到重复的值,则原始值列表会重复。

这是我到目前为止所拥有的:

file = open("list.txt", "r")

array1 = file.readlines()

total = 0
finalValue = 0

for i in range(0,len(array1)):
    array1[i] = int(array1[i])

array2 = []
i = 0
counter = 0

while finalValue == 0:

    total += array1[i]
    array2.append(total)
    print(array2)

    for c in range(0,len(array2)):
        if (total == array2[c]): 
            counter += 1

        if counter == 2:
            finalValue = total

            break

    if (i == len(array1)-1):
        i = 0
    else:
        i += 1
    counter = 0
print(finalValue)

我认为该计数器正在工作,但是它从未找到重复的对象,即它从未命中第二个计数器。

1 个答案:

答案 0 :(得分:0)

有很多方法可以使您的代码在Python中更简单,但是首先,您的问题是条件total == array2[c]将数组的元素与您的total进行比较,而不是相互比较。
例如,如果您的数组为[1,3,3],则将第二个34而不是3进行比较。

如果我理解您的代码,我想您想将total == array2[c]更改为array1[i] == array2[c]-但这只是一个立即解决方案,您可以使用python的列表技术来简化此代码。