只需要添加到数据库区别data_out - 数据库。Python区别两个字典中的一个uniq键
如何添加到数据库只有来自data_out(定期刷新)的新闻和数据库没有这个数据? db中的 必须没有重复!
database = [
{ id: 1, name: 'steve', age: '18'},
{ id: 2, name: 'margo', age: '17'},
{ id: 3, name: 'sten', age: '19'}
]
data_from_out = [
{ name: 'steve', age: '18'},
{ name: 'margo', age: '17'},
{ name: 'sten', age: '19'},
{ name: 'janifer', age: '21'},
{ name: 'mary', age: '21'}
]
DIFF按名称/标题(此uniq的PARAM),并加入到DB只差异。
添加到DB =>
{ "name": 'janifer', "age": '21'},
{ "name": 'mary', "age": '21'}
.
def compare_diff(arr_in, arr_database, check_tag):
try:
db_records = {d[check_tag] for d in arr_database}
data_from_out_records = {d[check_tag] for d in arr_in}
# set difference
diff = data_from_out_records - data_from_out_records & db_records
# make array from diff set
diff = [d for d in data_from_out_records if d[check_tag] if diff]
return diff
except:
print('Error in compare_diff. File file.py.')
请编辑你的答案,这是很不清楚你在问什么。还请包括你已经试过的代码 – dhdavvie