在people=[{'name':'小黄','age':65},{'name':'小高','age':'17'},{'name':'小王','age':20},{'name':'廖哥','age':18}]中删除大于60岁的人并设计函数测试是否成功
时间: 2023-05-25 19:06:23 浏览: 46
可以使用循环和条件语句来实现删除大于60岁的人:
```python
people=[{'name':'小黄','age':65},{'name':'小高','age':'17'},{'name':'小王','age':20},{'name':'廖哥','age':18}]
for person in people:
if person['age'] > 60:
people.remove(person)
print(people) # 输出 [{'name': '小高', 'age': '17'}, {'name': '小王', 'age': 20}, {'name': '廖哥', 'age': 18}]
```
然而,这种做法会导致遍历列表时遗漏一部分元素,因此要使用切片来解决这个问题:
```python
people=[{'name':'小黄','age':65},{'name':'小高','age':'17'},{'name':'小王','age':20},{'name':'廖哥','age':18}]
i = 0
while i < len(people):
if people[i]['age'] > 60:
del people[i]
else:
i += 1
print(people) # 输出 [{'name': '小高', 'age': '17'}, {'name': '小王', 'age': 20}, {'name': '廖哥', 'age': 18}]
```
可以定义一个函数来实现这个功能,并编写测试用例来检测是否成功:
```python
def remove_elderly_people(people):
i = 0
while i < len(people):
if people[i]['age'] > 60:
del people[i]
else:
i += 1
return people
# 测试用例
people1 = [{'name':'小黄','age':65},{'name':'小高','age':'17'},{'name':'小王','age':20},{'name':'廖哥','age':18}]
assert remove_elderly_people(people1) == [{'name': '小高', 'age': '17'}, {'name': '小王', 'age': 20}, {'name': '廖哥', 'age': 18}]
people2 = [{'name':'张三','age':45},{'name':'李四','age':30}]
assert remove_elderly_people(people2) == [{'name': '张三', 'age': 45}, {'name': '李四', 'age': 30}]
people3 = []
assert remove_elderly_people(people3) == []
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)