Bus*_*man 5 python comparison performance equals
比较任何变量时,可以选择比较相等还是比较不相等。对于只有一个元素的变量,而不是字符串/列表/元组/等...,差异可能不存在或可以忽略不计。
问题: 比较两个多元素变量时,检查它们是否相等比比较它们是否不相等慢还是快。
我的直觉告诉我比较它们是否不相等应该更快。我很好奇是否有人可以告诉我这是否属实,以及对于哪些类型的多元素类型来说是这样。
注意:我已经查看过,但没有找到任何可以回答我的问题的帖子。这可能是显而易见的,但我想得到更多的意见,而不仅仅是我自己的。
你总是可以检查:
>>> timeit("{'a': 1, 'b': 2} == {'a': 2, 'b': 1}")
0.29072967777517983
>>> timeit("{'a': 1, 'b': 2} != {'a': 2, 'b': 1}")
0.2906114293159803
Run Code Online (Sandbox Code Playgroud)
差异似乎可以忽略不计......也许是另一个测试用例?
>>> timeit("range(30) == range(35)")
0.7179841181163837
>>> timeit("range(30) != range(35)")
0.725536848004765
Run Code Online (Sandbox Code Playgroud)
再次,可以忽略不计。
>>> timeit("a == b", "a = {'a': 1, 'b': 2}; b = {'a': 2, 'b': 1}")
0.06806470555693522
>>> timeit("a != b", "a = {'a': 1, 'b': 2}; b = {'a': 2, 'b': 1}")
0.06724365965146717
Run Code Online (Sandbox Code Playgroud)
并且随着对象创建的移出。诚然,这些例子很小,但我仍然认为,当它们明显不同时,它们都会在适当的情况下使用短路。
| 归档时间: |
|
| 查看次数: |
3503 次 |
| 最近记录: |