У меня есть класс с именем Info, где информация имеет переменную экземпляра типа строка, которая может получить доступ Info.getName()
Удалить элемент в списке с условием
Также у меня есть список экземпляров информации, таких как class_list = [Info('Aleck'), Info('John')]
.
0: name_list = ['Aleck', 'Bob']
, Я хотел бы удалить элемент в class_list с тем же именем в name_list, в то время как мне также нужно знать, нет ли имени (например, Bob) в class_list (например, распечатать, что bob нет в списке)
для примера выше результат должен быть class_list = [Info ('John')] и распечатать, что боб в списке нет.
Я знаю уродливый способ сделать это, например, следующие коды (я на самом деле не запускаю его, просто пример), есть ли элегантный или Pythonic способ сделать это?
def removeElement(name_list, class_list):
list_to_be_removed = []
for name in name_list:
is_name_in_list = false
for obj in class_list
if name == obj.getName():
list_to_be_removed.add(obj)
is_name_in_list = true
break
if is_name_in_list == false:
print name + ' is not in the list'
is_name_in_list = false
for obj in list_to_be_removed:
class_list.remove(obj)
Я думаю, что вы вводите в заблуждение классы с примерами. – Kugel
Кроме того, 'class' является ключевым словом, поэтому куча этого кода не будет запущена. – Blckknght
Извините, что я не заметил, что я использовал зарезервированное слово «класс», измененное. – user1817188