永发信息网

python 删除数组元素

答案:2  悬赏:80  手机版
解决时间 2021-02-26 13:29
  • 提问者网友:聂風
  • 2021-02-26 00:10
我想删除数组中所有值为1的数
s=[1,2,3,4,5,1,2,3,4,5]

for k in range(len(s)):
if s[k]==1:
del s[k]
print(s)
为什么会显示越界? 纯小白,求指导
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-02-26 00:47
s=[1,2,3,4,5,1,2,3,4,5]
for k in range(len(s)):
    print(s)#输出s 看s的变化
    print(k)#输出k 看k的变化
    if s[k]==1:
        del s[k]
#当k取到8时就越界出问题了,因为循环过程中s的个数已变化
全部回答
  • 1楼网友:往事埋风中
  • 2021-02-26 02:21
# 可以使用列表推导式 # e.g l = [1,2,3,4,5,6,7,8,9,10] # 比如删除数组中比5大的数字 nl = [i for i in l if i <= 5] print(nl) # [1,2,3,4,5]
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯