重复元素判定,编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序
时间: 2024-03-31 21:11:16 浏览: 43
好的,以下是代码实现:
```python
def has_duplicate(lst):
"""
判断列表中是否有重复元素
"""
return len(lst) != len(set(lst))
# 测试函数
lst1 = [1, 2, 3, 4, 5]
lst2 = [1, 2, 3, 3, 4, 5]
print(has_duplicate(lst1)) # False
print(has_duplicate(lst2)) # True
print(lst1) # [1, 2, 3, 4, 5]
print(lst2) # [1, 2, 3, 3, 4, 5]
```
我们定义了一个 `has_duplicate` 函数,它接受一个列表作为参数,并返回一个布尔值,表示该列表中是否有重复元素。在实现中,我们使用了 Python 的 `set` 数据类型,因为 `set` 可以自动去重,所以如果原列表和 `set` 转换后的集合长度不一致,则说明列表中有重复元素。
调用这个函数的程序如下:
```python
lst1 = [1, 2, 3, 4, 5]
lst2 = [1, 2, 3, 3, 4, 5]
if has_duplicate(lst1):
print("列表 lst1 中有重复元素")
else:
print("列表 lst1 中没有重复元素")
if has_duplicate(lst2):
print("列表 lst2 中有重复元素")
else:
print("列表 lst2 中没有重复元素")
```
这个程序首先定义了两个列表 `lst1` 和 `lst2`,然后分别调用了 `has_duplicate` 函数,并根据返回值输出结果。注意,这个程序没有改变原来列表的值。
阅读全文