📅  最后修改于: 2023-12-03 15:07:26.252000             🧑  作者: Mango
在处理数组时,经常需要找出数组中具有特定属性的元素。在这个主题中,我们要找出数组中只有在正负值中具有正值的整数。
可以通过循环遍历数组,统计出所有非负数的个数与正数的个数,如果正数的个数为1且非负数的个数等于数组长度减去1,则该元素符合条件。
def find_positive_integer(arr):
n_non_negative = 0
n_positive = 0
for num in arr:
if num >= 0:
n_non_negative += 1
if num > 0:
n_positive += 1
if n_positive == 1 and n_non_negative == len(arr) - 1:
return True
else:
return False
还可以通过过滤出非负数与正数的数量,然后利用这两个数量来判断是否符合条件。
def find_positive_integer(arr):
non_negatives = list(filter(lambda x: x >= 0, arr))
positives = list(filter(lambda x: x > 0, arr))
if len(positives) == 1 and len(non_negatives) == len(arr) - 1:
return True
else:
return False
测试代码:
assert find_positive_integer([1, -1, 2, 3, 4, 5]) == True
assert find_positive_integer([1, -1, -2, -3, -4, -5]) == False
assert find_positive_integer([1, -1, 0, 3, 4, 5]) == False
在处理数组时,很多时候需要找出特定属性的元素。本主题介绍了找出数组中只有在正负值中具有正值的整数的方法,包括两种实现方式。