刪除元件我有一個名爲信息類,其中信息具有可通過Info.getName()
列表中的與條件
訪問的字符串型實例變量另外我有實例的信息的列表,諸如class_list = [Info('Aleck'), Info('John')]
。
給定一個name_list = ['Aleck', 'Bob']
,我想刪除class_list中name_list中相同名稱的元素,同時我還需要知道名稱(如Bob)是否不在class_list中(例如,打印出bob是不在列表中)
對於上述示例中的結果應該是class_list = [信息(「約翰」)],並打印出該擺錘不在列表上。
我知道這樣做,如下面的代碼(我不實際運行它,只是一個例子)的醜陋的方式,有優雅或Python的方式做到這一點?
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