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

2024-04-23 17:07:48 发布

您现在位置: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)

我认为计数器在工作,但它从来没有找到一个重复的,也就是说,它从来没有击中第二个计数器。你知道吗


Tags: inforlenifcounter计数器range数字
1条回答
网友
1楼 · 发布于 2024-04-23 17:07:48

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

如果我理解了您的代码,我认为您希望将total == array2[c]更改为array1[i] == array2[c]——但这只是一个立即解决的问题,您可以使用python的列表技术使代码更简单。你知道吗

相关问题 更多 >