再接着上次那个提示列表索引超出范围
def func(n):for i in range(len(n)):
for j in range(i+1,len(n)-1):
if n==n:
n.pop(n)
return n
n=
a=func(n)
print(a)
上次大佬@°蓝鲤歌蓝说 n.pop(n)这一句会使 n 的长度变小,但是你两个 for 循环的最大长度又不变,所以下标就会超出。
各位大佬按我的想法帮我修改下 你都不说你想实现啥,难道要人猜吗 用while循环吧,控制索引是否往前走,for循环无法控制
def func(n):
index = 0
while index < (len(n)-1):
if n == n:
n.pop(index)
continue
index += 1
return n
n=
a=func(n)
print(a)
wp231957 发表于 2021-1-26 17:50
你都不说你想实现啥,难道要人猜吗
要求就是删除列表中重复的元素 basketmn 发表于 2021-1-26 18:21
要求就是删除列表中重复的元素
set最简单 本帖最后由 记忆的欠片 于 2021-1-26 18:39 编辑
def func(n):
k = n[:]
for i in range(len(n)):
for j in range(i+1,len(n)-1):
if n==n:
k.remove(n)
return k
n=
a=func(n)
print(a)
循环语句,最好不要操作原列表。
def func(n):
k = []
for i in n:
if i not in k:
k.append(i)
return k
这里附上另一种方式 记忆的欠片 发表于 2021-1-26 18:36
循环语句,最好不要操作原列表。
大佬,你的代码运行错误啊
ValueError: list.remove(x): x not in list 大佬们,帮我解答下,谢谢
页:
[1]