python - 如何从 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)
我认为计数器正在工作,但它永远不会找到重复项,即它永远不会碰到第二个计数器。
解决方案
有很多方法可以让你的代码在 Python 中更简单,但首先,你的问题是条件total == array2[c]
将数组的元素与你的元素进行比较total
,而不是相互比较。
例如,如果您的数组是[1,3,3]
,则第二个3
将与 进行比较4
,而不是3
。
如果我理解您的代码,我认为您想更改total == array2[c]
为array1[i] == array2[c]
- 但这只是一个立即修复,您可以使用 python 的列表技术来简化此代码。
推荐阅读
- javascript - 在 VBA 中,我们如何使用“检查元素”而不是“查看页面源”来显示数据?
- python-3.x - 检查集合查询是否返回了一组文档 - Firestore python
- angular - Angular 9 嵌套路由(3 级)
- java - 在 Java 中填充形状的最佳方法(无递归)
- python - 类型提示协议的附加属性?
- mysql - 在 MySQL 中执行存储过程时出现错误(错误代码:1054)
- html - 我在 html 中的页脚在浏览器的中心显示文本。如何解决?
- json - 如何从 PowerShell 中的 JSON 文件中删除对象
- flutter - 如何显示包含上半部分图标和下半部分列表视图的屏幕?
- python - Predict_classes() keras model ValueError: Input 0 of layer sequence_1 is in compatible with the layer: