为什么两个字典对比,结果和想象的不同?
資深大佬 : qazwsxkevin 5
*** import decimal from sqlalchemy import Integer,Numeric,String,INTEGER,DateTime,DECIMAL,null *** if __name__ == '__main__': a = {'时间': datetime.datetime(2020, 5, 10, 11, 19), '力量': DECIMAL('26.77'), '量值': 90, '变化': None, '属性': None, '对方力量': DECIMAL('31.75'), 'TOP': 2291, '最低力量': DECIMAL('1.89'), '最高力量': 2022, 'roundid': '899', '序号': 1} b = {'时间': datetime.datetime(2020, 5, 10, 11, 25), '力量': DECIMAL('26.77'), '量值': 90, '变化': None, '属性': None, '对方力量': DECIMAL('31.75'), 'TOP': 2291, '最低力量': DECIMAL('1.89'), '最高力量': 2022, 'roundid': '899', '序号': 2} a.pop('序号') a.pop('时间') b.pop('序号') b.pop('时间') if a == b: print('相同') else: print('不同') # 这里对比结果是 False,为什么不同? 怀疑是 DECIMAL 的问题?我继续做了下面的测试 a = decimal.Decimal('1.77') b = decimal.Decimal('1.77') if a == b: print('yes') else: print('no') if a == b: print('True') else: print('False') # 这里是 True.... a = DECIMAL('1.77') b = DECIMAL('1.77') if a == b: print('yes') else: print('no') # 这里是 False
a 和 b,其实是在一个列表里,包含 N 个字典,历遍获取,是准备通过 sqlalchemy 写入到 mysql, a 和 b,pop 了序号和时间两个元素后,内容肯定是一样的, 请教各位高手,a.b 对比出了什么问题?
大佬有話說 (9)