📜  python 查找第一个重复数字 - Python (1)

📅  最后修改于: 2023-12-03 15:19:10.471000             🧑  作者: Mango

Python 查找第一个重复数字

在开发中,有时候我们需要查找列表或数组中的第一个重复数字。Python 提供了多种方法来实现此功能。

方法一:使用 for 循环和 count() 方法

一种简单的方法是使用 for 循环和 count() 方法来判断数字是否重复出现。代码如下:

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1]

for i in arr:
    if arr.count(i) > 1:
        print("第一个重复的数字是:", i)
        break
思路
  1. 遍历列表或数组中的每一个数字。
  2. 使用 count() 方法判断当前数字在列表或数组中出现的次数。
  3. 如果出现次数大于 1,则说明数字重复出现。
  4. 输出第一个重复的数字并结束循环。
优缺点

优点:

  1. 简单易懂,适用于小规模数据查找。

缺点:

  1. 若列表或数组较大,此方法时间复杂度较高,性能较差。
方法二:使用 set() 方法

另一种方法是使用 set() 方法。代码如下:

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1]

repeat_set = set()
for i in arr:
    if i in repeat_set:
        print("第一个重复的数字是:", i)
        break
    repeat_set.add(i)
思路
  1. 定义一个空的 set() 集合 repeat_set。
  2. 遍历列表或数组中的每一个数字。
  3. 如果当前数字已经在 repeat_set 集合中出现过,则说明数字重复出现。
  4. 输出第一个重复的数字并结束循环。
  5. 如果当前数字没有在 repeat_set 集合中出现过,则将其加入集合中。
优缺点

优点:

  1. 时间复杂度较低,性能好。
  2. 适用于大规模数据查找。

缺点:

  1. 使用了额外的空间来存储 set() 集合。

综上所述,以上两种方法都可以实现查找一个列表或数组中的第一个重复数字。具体使用哪种方法,需要根据实际情况而定。