总是提示列表索引超出范围
本帖最后由 basketmn 于 2021-1-26 13:59 编辑def func(n):
for i in range(len(n)):
for j in range(i+1,len(n)):
if n==n:
n.pop(n)
return n
n=
a=func(n)
print(a)
要求就是删除列表中重复的元素 可以直接用强制类型转换,set(n),将n变为集合,就消去了所有的重复元素,再用list变为列表
n=
n = list(set(n))
print(n) 首先,感谢你回复!
我就是想知道还有没有其他方法 n.pop(n)
这一句会使 n 的长度变小,但是你两个 for 循环的最大长度又不变,所以下标就会超出。 def fanc(n):
x=[]
for i in range(len(n)):
if not n in x:
x.append(n)
print(x)
试试这个 basketmn 发表于 2021-1-26 14:58
首先,感谢你回复!
我就是想知道还有没有其他方法
定义一个新列表,通过判断新列表中有没有该元素,如果没有,则添加到新列表中,否则不做任何操作,最后返回新列表就行。
def func(n):
new_n = []
for i in n:
if i not in new_n:
new_n.append(i)
return new_n
n =
a = func(n)
print(a) 感谢5,6楼的兄弟,你们俩的方法一样,不好意思,最佳只有一个,我只能给回答最快的,再次对六楼的兄弟说句不好意思!
页:
[1]