在Python表达式中对Lambda和负数进行重新排列

给定一个正数和负数的数组,对它们进行排列,使所有负整数出现在数组中所有正整数之前。应维持出场秩序。

null

例如:

Input :  arr[] = [12, 11, -13, -5, 6, -7, 5, -3, -6]
Output : arr[] = [-13, -5, -7, -3, -6, 12, 11, 6, 5]

Input :  arr[] = [-12, 11, 0, -5, 6, -7, 5, -3, -6]
Output : arr[] =  [-12, -5, -7, -3, -6, 11, 0, 6, 5]

这个问题有很多解决方案,请参考 重新排列正数和负数 链接,但我们将使用python中的单行代码解决这个问题 Lambda表达式 .

# Function to rearrange positive and negative elements
def Rearrange(arr):
# First lambda expression returns list of negative numbers
# in arr.
# Second lambda expression returns list of positive numbers
# in arr.
return [x for x in arr if x < 0 ] + [x for x in arr if x > = 0 ]
# Driver function
if __name__ = = "__main__" :
arr = [ 12 , 11 , - 13 , - 5 , 6 , - 7 , 5 , - 3 , - 6 ]
print (Rearrange(arr))


输出:

arr[] = [-13, -5, -7, -3, -6, 12, 11, 6, 5]

本文由 沙申克·米什拉(古卢) .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享