删除给定字段值 python 的列表对象
Removing list object given field value python
给定
这不仅仅是从列表中删除元素;它删除但使用字段值
philani = Student(20, "Philani Sithole", "Male", [64,65])
sarah = Student(19, "Sarah Jones", "Female", [82,58])
fabian = Student(50, "Fabian Hamza", "Male", [50,52])
students = [philani, sarah, fabian]
如何从名为 "Fabian Hamza"
的学生列表中删除对象 fabian
期望的结果:
students = [philani, sarah]
它试过了
name = "Fabian Hamza"
for i in xrange(len(students)):
if hasattr(students[i], name):
students.pop(i)
但它不起作用
您可以使用列表理解来实现:
[s for s in students if s.name != 'Fabian Hamza']
如果您只需要姓名列表,请尝试:
[s.name for s in students if s.name != 'Fabian Hamza']
给定
这不仅仅是从列表中删除元素;它删除但使用字段值
philani = Student(20, "Philani Sithole", "Male", [64,65])
sarah = Student(19, "Sarah Jones", "Female", [82,58])
fabian = Student(50, "Fabian Hamza", "Male", [50,52])
students = [philani, sarah, fabian]
如何从名为 "Fabian Hamza"
的学生列表中删除对象 fabian期望的结果:
students = [philani, sarah]
它试过了
name = "Fabian Hamza"
for i in xrange(len(students)):
if hasattr(students[i], name):
students.pop(i)
但它不起作用
您可以使用列表理解来实现:
[s for s in students if s.name != 'Fabian Hamza']
如果您只需要姓名列表,请尝试:
[s.name for s in students if s.name != 'Fabian Hamza']