<p>尝试下面的(<code>data_1</code>和<code>data_2</code>表示2个API调用的结果)</p>
<pre><code>data_1 = [{'lastSoldPrice':12,'id':14},{'lastSoldPrice':18,'id':15},{'lastSoldPrice':149,'id':146}]
data_2 = [{'lastSoldPrice':12,'id':17},{'lastSoldPrice':18,'id':15},{'lastSoldPrice':142,'id':146},{'lastSoldPrice':1422,'id':166}]
# convert list to dict
data_1 = {entry.get('id'): entry for entry in data_1}
data_2 = {entry.get('id'): entry for entry in data_2}
# set operation to find new and common
new_entries = data_2.keys() - data_1.keys()
print(f'New entry ids: {new_entries}')
for _id in new_entries:
print(f'\t {data_2.get(_id)}')
common_entries = data_2.keys() & (data_1.keys())
print(f'Common entry ids: {common_entries}')
# loop over common entries and see if there is a price change
for _id in common_entries:
p1 = data_1.get(_id)['lastSoldPrice']
p2= data_2.get(_id)['lastSoldPrice']
if p1 != p2:
print(f'Price change for id {_id}. Old price: {p1}, new price: {p2}')
</code></pre>
<p>输出</p>
<pre><code>New entry ids: {17, 166}
{'lastSoldPrice': 12, 'id': 17}
{'lastSoldPrice': 1422, 'id': 166}
Common entry ids: {146, 15}
Price change for id 146. Old price: 149, new price: 142
</code></pre>