|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
l = len(member)
i=0
while i<l:
a = member[i]
temp = str(a)
if temp.isdigit() == True:
del a
print(member)
报错为:IndexError: list assignment index out of range
后来将代码改成:
while i<l:
a = str(member[i])
if a.isdigit() == True:
member.remove(a)
print(member)
也有问题,请问,删除元素的时候哪里有问题?
本帖最后由 °蓝鲤歌蓝 于 2018-3-16 11:07 编辑
- member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, 90,100, '怡静', 90, '秋舞斜阳', 88]
- l = len(member)
- i=0
- while i<l:
- a = member[i]
- temp = str(a)
- if temp.isdigit() == True:
- del member[i]
- else:
- i += 1
- l = len(member)
- print(member)
复制代码
1.del a 是没用的,应该要del member[i],而且删除元素后索引值不用改变。
2.while 循环里重新赋值长度,因为你删除元素后列表长度会改变。
|
|