Python中文
首页
教程
问答
标签
搜索
登录
注册
检查列表中的所有元素是否都相同
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我需要以下功能:</p> <p><strong>输入</strong>:a<code>list</code></p> <p><strong>输出</strong>:</p> <ul> <li><code>True</code>如果输入列表中的所有元素使用标准的相等运算符求值为彼此相等</li> <li><code>False</code>否则。</li> </ul> <p><strong>性能</strong>:当然,我不希望产生任何不必要的开销。</p> <p>我觉得最好:</p> <ul> <li>遍历列表</li> <li>比较相邻元素</li> <li>以及所有的布尔值</li> </ul> <p>但我不知道什么是最Python式的方法。</p> <hr/> <p><strong>编辑</strong>:</p> <p>谢谢你的回答。我评价了几个,很难在@KennyTM和@Ivo van der Wijk解决方案之间做出选择。</p> <p>短路特性的缺乏只会损害早期具有不等元件的长输入(超过50个元件)。如果这种情况经常发生(发生的频率取决于列表的长度),则需要短路。最好的短路算法似乎是@KennyTM<code>checkEqual1</code>。然而,它为此付出了巨大的代价:</p> <ul> <li>性能高达20倍几乎相同的列表</li> <li>短名单上的绩效高达2.5倍</li> </ul> <p>如果具有早期不等元件的长输入不发生(或很少发生),则不需要短路。到目前为止,最快的是@Ivo van der Wijk解决方案。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>最简单、最优雅的方式如下:</p> <pre><code>all(x==myList[0] for x in myList) </code></pre> <p>(是的,这甚至适用于空列表!这是因为这是python具有惰性语义的少数情况之一。)</p> <p>在性能方面,这将在尽可能早的时间失败,因此它是渐近最优的。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
2 回答
Jupyter运行不同版本的卸载库?
8 回答
Jupyter运行指定的键盘快捷键
9 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
6 回答
Jupyter重新加载自定义样式
1 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
9 回答
jupyter错误:无法在随机林中将决策树视为png
1 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
8 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
5 回答
Jupyter隐藏数据帧索引,但保留原始样式
5 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
9 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
10 回答
Jupy上Python的读/写访问问题
6 回答
jupy上没有模块cv
10 回答
Jupy上的排序错误
1 回答
Jupy中bqplot图形的紧凑布局
1 回答
Jupy中matplotlib plot的连续更新
7 回答
Jupy中Numpy函数的文档
2 回答
Jupy中Pandas的自动完成问题
4 回答
jupy中Qt后端的Matplotlib动画
4 回答