我正在更新,然后引用添加到列表中的最后一项以确定结果,例如:
if item_list[-1] != item_list[-2]:
outcome1
我不需要引用任何其他列表元素,只需引用item_list [-1]和[-2]。有没有更Python的方式来做到这一点?该代码用于使用websockets的on_message,并且item_list每秒更新一次或每分钟更新一次。这个新手编码员将不胜感激任何建议!
您可以使用类似的技巧*rest, x, y = item_list
然后进行比较,但是我认为您的方法很棒。
有时不必为已经具有出色方法的事物追求“更pythonic”的方法。但是,我确实鼓励并喜欢您的进步。保持!
如果您询问效率-您的方法可能是最好的方法。
根据您在评论中的思考:
如此您将了解它有多快,无论长度多大,都以纳秒级数且速度相同,这是一个基准:
> py -m timeit -s "a = list(range(10_000))" "a[-1]"
2000000 loops, best of 5: 73.3 nsec per loop
> py -m timeit -s "a = list(range(100_000))" "a[-1]"
5000000 loops, best of 5: 74.5 nsec per loop
> py -m timeit -s "a = list(range(1_000_000))" "a[-1]"
5000000 loops, best of 5: 69.6 nsec per loop
我认为每秒超过100亿次查询(在2009年的旧计算机上)足够快;-)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句