【发布时间】:2021-12-10 07:38:23
【问题描述】:
我正在尝试编写一个类函数,从我的数组列表中删除第一次出现的 e(int 数)并让它返回 True,但如果没有出现,则返回 false 而不调整我的数组列表。
def removeVal(self, e):
A = self.inArray
for x in A:
i+=1
if x == e:
A.remove(i)
self.inArray = A
return True
return False
list = [1,2,2,3,4,5]
list.removeVal(2)
print(list)
class ArrayList:
def __init__(self):
self.inArray = []
self.count = 0
def get(self, i):
return self.inArray[i]
def set(self, i, e):
self.inArray[i] = e
def length(self):
return self.count
def isIn(A, k): # similar to this
# for i in range(len(A)):
# if A[i] == k:
# return True
# return False
【问题讨论】:
-
究竟是什么不起作用/问题出在哪里?
-
对不起,我不明白你的意图,请你详细说明。您所说的类函数是指 python 对象中的方法吗?
-
看起来您正试图在迭代列表时对其进行修改,这是有问题的。
-
您的代码中没有类。
A = self.inArray没有它就毫无意义 -
您正在尝试像编写 Java 一样编写 Python。即使你想要 setter 和 getter,也不是这样做的
标签: python list object arraylist