Python查找数列中重复数字
时间: 2023-11-05 10:20:28 浏览: 122
可以使用Python中的set()函数来查找数列中的重复数字。set()函数将列表转换为集合,集合中的元素是唯一的,因此可以使用集合的长度来判断列表中是否有重复元素。以下是示例代码:
```python
my_list = [1, 2, 3, 4, 5, 6, 3, 7, 8, 9, 1]
my_set = set(my_list)
if len(my_list) != len(my_set):
print("有重复数字")
else:
print("没有重复数字")
```
输出结果为:
```
有重复数字
```
这是因为数列中有重复的数字1和3。
相关问题
python查找数列中重复数字的最后一个
可以使用以下代码来查找数列中重复数字的最后一个:
```python
def find_last_duplicate(nums):
last_duplicate = -1
seen = set()
for i in range(len(nums)-1, -1, -1):
if nums[i] in seen:
last_duplicate = i
else:
seen.add(nums[i])
return last_duplicate
```
这个函数的输入是一个包含数字的列表 `nums`,返回值是数列中最后一个重复数字的下标。如果数列中没有重复数字,则返回 -1。
函数的实现方式是从数列的末尾开始遍历,使用一个集合 `seen` 来存储已经遍历过的数字,如果当前数字已经在集合中出现过,则更新 `last_duplicate` 的值为当前下标。如果当前数字是第一次出现,则将其添加到集合 `seen` 中。最后返回 `last_duplicate` 的值即可。
python查找数列中重复数字的最后一个位置代码
可以使用以下代码来查找数列中重复数字的最后一个位置:
```python
def find_last_duplicate(nums):
last_duplicate = -1
seen = {}
for i in range(len(nums)):
if nums[i] in seen:
last_duplicate = max(last_duplicate, seen[nums[i]])
seen[nums[i]] = i
return last_duplicate
```
这个函数的输入是一个包含数字的列表 `nums`,返回值是数列中最后一个重复数字的下标。如果数列中没有重复数字,则返回 -1。
函数的实现方式是使用一个字典 `seen` 来存储已经遍历过的数字及其下标,如果当前数字已经在字典中出现过,则更新 `last_duplicate` 的值为当前数字在字典中出现的最后一个下标。如果当前数字是第一次出现,则将其添加到字典 `seen` 中。最后返回 `last_duplicate` 的值即可。
需要注意的是,在字典中查找某个键的值是常数时间的操作,因此这种实现方式比使用集合来存储已经遍历过的数字更高效。