![]() |
1
2
上面写的方法实际上是很好的惯用Python。如果我们分析算法,我们会发现它本质上是这样做的:
唯一的另一种方法是随机选择一个元素,决定它是否满足谓词,如果不满足,则再次选择。这个算法有点复杂。在列表的90%满足谓词的情况下,这将比解决方案运行得更快。在只有10%的列表满足谓词的情况下,实际运行速度会慢得多,因为很有可能随机选择一个给定元素,并检查该元素是否满足谓词多次。现在你可以考虑记忆你的谓词,但是你仍然要选择很多随机数据。归根结底,除非您的解决方案特别不适合您的数据,否则请坚持使用它,因为它非常棒。就我个人而言,我会这样改写它:
这有点简洁,但它的运行方式与现有代码完全相同。 |
![]() |
2
1
我找不到某种函数
|
![]() |
3
1
|
![]() |
4
0
这是怎样的蟒蛇?
|
![]() |
5
0
如果您想封装更多的内容,您可以创建一个方法来处理选择,这将接受一个谓词方法。然后可以将此谓词方法用于
可以将谓词传递给
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |