Python 如何对此代码使用remove?

Python 如何对此代码使用remove?,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,但这显然有个问题。您知道我可以修改它以使用remove、del或pop吗?尽管我认为pop或del不可行,因为没有索引?只要打电话就可以了 y.删除(c) 当您执行c.stno时,它将不存在于列表中,因为列表中实际存在的是对象本身,而不是它的属性只需调用 y.删除(c) 当您执行c.stno时,它将不存在于列表中,因为列表中实际存在的是对象本身而不是其属性更改正在迭代的数组是不好的。您可以尝试以下方法: n=int(input("enter #:")) for c in y: if c.

但这显然有个问题。您知道我可以修改它以使用remove、del或pop吗?尽管我认为pop或del不可行,因为没有索引?

只要打电话就可以了

y.删除(c)

当您执行
c.stno
时,它将不存在于列表中,因为列表中实际存在的是对象本身,而不是它的属性

只需调用

y.删除(c)


当您执行
c.stno
时,它将不存在于列表中,因为列表中实际存在的是对象本身而不是其属性

更改正在迭代的数组是不好的。您可以尝试以下方法:

n=int(input("enter #:"))
for c in y:
    if c.stno==n:
        y.remove(c.stno)

更改正在迭代的数组是不好的。您可以尝试以下方法:

n=int(input("enter #:"))
for c in y:
    if c.stno==n:
        y.remove(c.stno)

看起来你的同学也在问关于这项作业的问题(虽然不同):看起来你的同学也在问关于这项作业的问题(虽然不同):你能再解释一下吗?
c.stno
当你呼叫
y.remove(c.stno)
时返回学生号码,您正在尝试删除列表中不存在的值(stno)…请记住,这是您附加到列表中的
student
对象
student
对象包含值而不是列表,列表中的三个元素是student对象您可以再解释一下吗?
c.stno
返回学生编号,当您调用
y.remove(c.stno)
时,您试图删除列表中不存在的值(stno)……请记住,是您附加到列表中的
student
对象
student
对象包含值而不是列表,列表中的三个元素是student对象
for item in [c for c in y if s.stdno==n]:
    y.remove(item)