2016-10-06 123 views
0

這是我輸入的樣子:針對的對象比較屬性的列表內列表

cust1Attributes = [{'Key': 'FirstName', 'Value': 'SomeFirstName'}, {'Key': 'LastName', 'Value': 'SomeLastName'}] 

這是我MandatoryData名單看起來像:

class MustHaveData(object): 
    def __init__(self, name, defaultValue): 
     self.name = name 
     self.defaultValue = defaultValue 

customerMandatoryData=[] 
customerMandatoryData.append(MustHaveData(name="FirstName", defaultValue="Default First Name")) 
customerMandatoryData.append(MustHaveData(name="LastName", defaultValue="Default Last Name")) 
customerMandatoryData.append(MustHaveData(name="State", defaultValue="Default State")) 

我需要比較cust1Attributes's keycustomerMandatoryData's name並得到customerMandatoryData回不存在的列表cust1Attributes

我該怎麼做?

+1

taht每個都有一個值?如果只是一個普通的字典,你會發現你的數據結構更容易處理:'{'FirstName':'SomeFirstName','LastName':SomeLastName}' –

+0

@PatrickHaugh:這就是我從源系統我無法控制它如何生成JSON對象。 – Asdfg

回答

2

建立從包含的項目在每個Key字典設置和使用列表理解篩選出在設定的名稱的對象:你爲什麼要使用字典列表

custset = {x['Key'] for x in cust1Attributes} 
result = [obj for obj in customerMandatoryData if obj.name not in custset]