jkd112233 2022-10-26 14:36 采纳率: 85.4%
浏览 61
已结题

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

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

img

  • 写回答

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)])=={}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月26日