许我万千梦 2023-10-31 20:00 采纳率: 100%
浏览 13
已结题

Python用遍历删除数字列表小于60的数字出现遗漏

定义一个列表保存多个学生的分数
,删除列表中所以低于60分的值

scores = [45, 60, 89, 30, 12, 59, 99, 80, 71, 66]
for x in scores:
if x<60:
scores.remove(x)
print(scores)
结果:[60, 89, 12, 99, 80, 71, 66]
少了个12没删,这是为什么

  • 写回答

2条回答 默认 最新

  • micthis 2023-10-31 20:13
    关注

    不能一边遍历一边删。
    可以用列表解析式:

    scores=[45,60,89,30,12,59,99,80,71,66]
    scores=[s for s in scores if s>=60]
    print(scores)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 10月31日