![]() |
1
425
一个衬垫:
还有一个衬垫:
这三个版本的区别在于:
注:
|
![]() |
2
305
一些简单的基准:
|
![]() |
3
169
(是的,这甚至适用于空列表!这是因为这是为数不多的python具有延迟语义的情况之一。) 关于性能,这将在尽可能早的时间失败,因此它是渐近最优的。 |
![]() |
4
48
一套比较法:
使用
|
![]() |
5
26
可以将列表转换为集合。集合不能有重复项。因此,如果原始列表中的所有元素都相同,则集合将只有一个元素。
|
![]() |
6
21
不管怎么说,这件事发生在 python-ideas mailing list 最近。原来有一个 itertools recipe 已经这样做了: 1
据说它的性能非常好,并且有一些很好的特性。
换言之,我不能因为提出了解决方案而得到赞扬——我甚至也不能认为这是功劳 发现 它。 |
![]() |
7
17
这里有两种简单的方法使用set()将列表转换为集合时,将删除重复的元素。所以如果转换集的长度是1,那么这意味着所有元素都是相同的。
这里有一个例子
使用all()这将比较(等价)输入列表的第一个元素与列表中的其他元素。如果全部相等,则返回True,否则返回False。
这里有一个例子
P、 S如果您正在检查整个列表是否等于某个值,则可以在for input_list[0]中替换该值。 |
![]() |
8
12
这是另一个选择,比
|
![]() |
9
9
这是一种简单的方法:
这稍微复杂一点,它会引起函数调用开销,但语义更清楚地说明了:
|
![]() |
10
5
检查所有元素是否等于第一个元素。
|
![]() |
11
4
会成功的。 |
![]() |
12
4
如果你对更易读的东西感兴趣(当然效率不高),你可以试试:
|
![]() |
13
4
将列表转换为集合,然后查找集合中的元素数。如果结果是1,则它具有相同的元素;如果不是,则列表中的元素也不相同。
|
![]() |
14
4
关于使用
|
![]() |
15
3
我会这样做:
|
![]() |
16
2
|
|
17
2
|
![]() |
18
2
可以使用map和lambda
|
![]() |
19
2
打电话给:
|
![]() |
20
2
打电话给:
输出: 是的 |
![]() |
21
1
python让您导入像
(您不应该使用此方法,因为如果发现不相等的值,它不会中断,而是会继续检查整个列表。这只是作为完整性的答案。) |
![]() |
22
1
|
|
23
1
将列表更改为集合。如果集合的大小只有1,那么它们一定是相同的。
|
![]() |
24
1
还有一个纯Python递归选项:
然而,在某些情况下,它比其他选择慢两个数量级。从C语言的心态来看,我希望这会更快,但事实并非如此! 另一个缺点是Python中存在递归限制,在这种情况下需要调整。例如使用 this . |
![]() |
25
0
你可以用
|
![]() |
26
0
你可以用
例子:
|
![]() |
ridiculous_fish · std::是否保证短路? 2 年前 |
![]() |
Hilde Schneider · php对我的if条件有问题 7 年前 |
![]() |
user8188120 · 熊猫用np标记时间戳。其中比较 7 年前 |
|
Jarek · 与循环python数据帧中的下一个/上一个值进行比较 7 年前 |
|
vato · Bash脚本:测试浮点数是否在包括负数在内的特定范围内 7 年前 |