item_list [-1]的更多pythonic方式!= item_list [-2]?

爱德华·詹姆斯

我正在更新,然后引用添加到列表中的最后一项以确定结果,例如:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#中比较两个struct List,判断list1的item是否出现在list2的item中

RxJava 2:如何过滤发出“ List <Item>”的无限流的项目?

仅按Item2的List <Tuple <int,int >>排序

在simple_list_item_2模式下为空的ListView

什么是“ android.R.layout.simple_list_item_1”?

什么是android.R.layout.simple_list_item_1?

simple_list_item_1无法解析或没有字段

if( item1 ? item2) 的含义: item3

在Android上创建同时包含simple_list_item_1和simple_list_item_multiple_choice的ListView

用Python2的方式填充来自list2的非冗余成员的list1?

Logstash配置:如果[[list item 1“]中的[field]为“ field”,则条件为list不起作用

角度2:如何在md-list-item中传递路由器?

可以对simple_list_item_2进行自定义吗?

以pythonic方式将所有list元素更改为true

以pythonic的方式获取list的每个值的索引列表

在android.R.layout.simple_list_item_1上使用黄油刀绑定视图

List.Remove(Item item) 的行为不符合预期

将Single <List <Item >>转换为Observable <Item>?

将Stream <Item>转换为Stream <List <Item >>

如何获取 item1 : item2 : item3 本身没有值

C#WebApi控制器(状态控制器当前有2个Get方法,1个返回List,第二个返回Single Item)

为什么我不能执行List <Item>?

RxAndroid过滤器Observable <List <Item >>

strange result when removing item from a list

如何在 List 和 Item 之间导航?

无法从XML节点填充List <Item>

将List <Item>转换为json

隐藏Boostrap list-group-item

条件变量的更多pythonic方式