有关Python的问题:
这里写的:
if i[0]<1 or i[1]>150:
nameages.remove(i)
是不是有什么错误,该怎么完成?

有关Python的问题:这里写的:if i[0]<1 or i[1]>150: nameages.remove(i)是不是有什么错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- CSDN专家-showbo 2022-10-26 14:51关注
从后往前遍历,要不每remove一项数组会少一项,这样会少遍历remove掉的次数导致删不全
def validages(nameages): for i in range(len(nameages)-1,-1,-1): item=nameages[i] if item[1]<0 or item[1]>150: nameages.remove(item) dic=dict(nameages) return dic assert validages([('Ann',15),('Bin',190),('Jack',75)])=={'Ann':15,'Jack':75} assert validages([('Ann',-15),('Bin',190),('Jack',0)])=={'Jack':0} assert validages([('Ann',-15),('Bin',190)])=={}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报