大佬教程收集整理的这篇文章主要介绍了item_list[-1] != item_list[-2] 的更多 Pythonic 方式?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在更新然后参考添加到列表中的最后一项以确定结果,例如:
if item_List[-1] != item_List[-2]:
outcome1
我不需要引用任何其他列表元素,只需要引用 item_List[-1] 和 [-2]。 有没有更pythonic的方法来做到这一点?此代码用于使用 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 年的旧电脑上)我认为已经足够快了;-)
,Python 列表是作为数组实现的,因此获取这样的索引是一个常数时间操作。这意味着您的代码没有真正的低效率,我也没有看到任何可读性问题。也就是说,如果此检查是您唯一需要列表的内容,您可以将其简化为仅存储最后一个元素和一个布尔值,用于判断该元素是否与之前的元素匹配。但是,要回答您的具体问题,没有其他更pythonic 的编写方式。
以上是大佬教程为你收集整理的item_list[-1] != item_list[-2] 的更多 Pythonic 方式?全部内容,希望文章能够帮你解决item_list[-1] != item_list[-2] 的更多 Pythonic 方式?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。