我想删除数组中所有值为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)
为什么会显示越界? 纯小白,求指导
python 删除数组元素
答案:2 悬赏:80 手机版
解决时间 2021-02-26 13:29
- 提问者网友:聂風
- 2021-02-26 00:10
最佳答案
- 五星知识达人网友:枭雄戏美人
- 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的个数已变化
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]
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯