举例:
a = [
{'key_name': 'name', 'key_type': 'varchar', 'value': '张三'},
{'key_name': 'sex', 'key_type': 'int', 'value': '1'},
{'key_name': 'address', 'key_type': 'varchar', 'value': '江苏省南京市'}
]
b = [
{'key_name': 'name', 'key_type': 'varchar', 'value': '张三'},
{'key_name': 'sex', 'key_type': 'int', 'value': '2'},
{'key_name': 'address', 'key_type': 'varchar', 'value': '山东省济南市'}
]
a为原始数据,b为更新数据,可以看到b相对于a中,key_name='name'的该字典没有发生任何改变,然而剩余两个字典的部分内容被修改,假设ab两个列表长度较大,我如何快速取出需要更新的是key_name='sex'和key_name='address'的这两个字典?
ps:字典中的key所属的value均可变、如果ab两个数据集比较长,怎么样更科学呢
这里面涉及的细节很多
1.元素个数是否一样
2.顺序是否一样
3.是否不存在缺失项
4.是仅value不同,还是说type可能也不同
如果以上都是一致的,那遍历索引值,比较字典元素的value就可以了
如果不是则都需要预处理