我对Python还比较陌生,在从dict中删除元素时,我想知道是否有理由更喜欢这些方法中的一种# d is a dict, k is a key deld[k]d.pop(k, None)
我的第一个想法是,这种方法(A)需要进行两次查找--一次在if语句中,另一次在del实现中,这将使它比只需要一次查找的pop稍微慢一些。然后,一位同事指出,del可能还具有优势,因为它是一个关键字,因此有可能得到更好
然而,最近我重新讨论了一些基准测试,并注意到相对性能(与类似的列表理解相比)在Python3.5和3.6之间发生了巨大的变化。__lt__, lst)) == [5 < i for i in lst]%timeit [5 < i for i in lst]14.3 ms ± 128 µs per loop (m
我在python中有两个类似的循环。第一个和第二个完全相同,只是我试图通过在变量中记住重复操作的结果来优化第二个循环。from timeit import default_timer as timer
loop2_time = 0
for loop_number in range(50):
if loop_number</e