***
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 对比出了什么问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.