用python编写重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序。
时间: 2024-03-31 17:13:38 浏览: 70
Python实现判断给定列表是否有重复元素的方法
好的,我明白了。回答您的问题,以下是用 Python 编写重复元素判定函数的代码:
```python
def check_duplicates(lst):
if len(lst) == len(set(lst)):
return False
else:
return True
```
这个函数接受一个列表作为参数,通过比较列表的长度和去重后的集合的长度,来判断列表中是否存在重复元素。如果存在,则返回 True,否则返回 False。需要注意的是,这个函数不会修改原来列表的值。
以下是调用这个函数和测试结果的程序:
```python
# 定义一个测试函数
def test_check_duplicates():
# 测试数据
test_cases = [
([], False),
([1], False),
([1, 2, 3], False),
([1, 2, 3, 1], True),
([1, 2, 2, 3], True),
(["a", "b", "c", "a"], True),
(["a", "b", "c", "d"], False),
]
# 对每个测试数据进行测试,并输出测试结果
for lst, expected in test_cases:
result = check_duplicates(lst)
assert result == expected, f"Error: {lst} -> {result}, expected: {expected}"
print(f"Pass: {lst} -> {result}")
# 调用测试函数
test_check_duplicates()
```
这个程序定义了一个测试函数 `test_check_duplicates()`,它包含了多组测试数据。对于每组测试数据,它调用 `check_duplicates()` 函数来得到实际结果,然后与期望结果进行比较,如果不相同则输出错误信息,否则输出测试通过信息。最后,它调用测试函数来运行测试并输出结果。
阅读全文