如何检查任何数组值的长度是否等于1

2024-09-24 00:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查数组中值的任何长度是否等于1。我有一个数组

SLR = [4, 4000, 4010]

我想检查这些值的length:是否等于1。在这种情况下,这是真的,因为有4个

我试图这样做,但当然失败了:

SLR = [4, 4000, 4010]

if(any(len(SLR)) == 1):
        print("True")
    else:
        print("False")

Tags: falsetruelenif情况any数组length
2条回答

作为其他答案的替代方法,您可以筛选列表并为最终子集返回大于1的长度:

return len(list(filter(lambda x: len(str(x)) == 1, SLR))) >= 1

您可以将int强制转换为str并选中len(),即:

SLR = [4, 4000, 4010]
if [x for x in SLR if len(str(x)) == 1]:
    print("yes")

Demo


或者像@kaya3建议的那样利用short-circuiting

if any(len(str(x)) == 1 for x in SLR):
    print("yes")

要与负数一起使用:

SLR = [-9, 22, 4000, 4010]
if any(-10 < n < 10 for n in SLR):
    print("yes")

相关问题 更多 >