假设a = [[1,2,3],[1,2,3]]
reduce(lambda x,y: x==y, a)回归True
但如果a = [[1,2,3],[1,2,3],[1,2,3]]
reduce(lambda x,y: x==y, a)回归False
为什么在第二种情况下,结果是False?
请帮忙
谢谢
试试这个,它适用于任何大小的列表:
all(e == a[0] for e in a)
Run Code Online (Sandbox Code Playgroud)
请注意,您提议的解决方案使用reduce不适用于两个以上的项目,因为第一次比较后的累计值是True,并且您将True与该点上的每个元素进行比较,显然这不起作用.
你并没有减少清单。lambda 的返回值是Trueor False,然后将其用作输入参数以进一步调用同一 lambda 函数。所以你最终将布尔值与列表进行比较。因此,归约函数应该返回与其输入参数相同的类型。
您可能正在寻找其他建议的答案:使用all().
| 归档时间: |
|
| 查看次数: |
4154 次 |
| 最近记录: |