gpt4 book ai didi

python - 断言所有值都是负数或所有值都是非负数

转载 作者:行者123 更新时间:2023-12-01 01:53:47 24 4
gpt4 key购买 nike

我需要断言数组中的所有数值要么是负数,要么是非负数。

我写的是:

def check(arr):
return all([i < 0 for i in arr]) or all([i >= 0 for i in arr])

我认为这稍微更有效率:

def check(arr):
temp = [i < 0 for i in arr]
return all(temp) or not any(temp)

我想知道是否有更干净/更Pythonic的方式,或者也许是一些我可以使用的算术技巧。

最佳答案

一种方法是使用集合推导式来派生一组 bool 值。该集合将为{True}{False}{True, False}。然后测试您的 set 的长度是否等于 1。

def check(arr):
return len({i < 0 for i in arr}) == 1

关于python - 断言所有值都是负数或所有值都是非负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50448857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com