从负面分离积极的功能

时间:2017-02-07 18:07:37

标签: python list

我从列表中进行此练习,返回两个列表,其中一个带有正数,另一个带有负数。

我的代码:

def fuc(list):
  negatives = []
  positives = []

  for i in list:
      if i > 0:
          positives.append(i)
          print(i)
      else:
          negatives.append(i)
          print(i)

print(fuc([1,-1,2,-2,3,-3,4,-4,5,-5]))

此代码不返回2个列表(负面和正面),我想知道如何从原始列表中获取2个列表。

2 个答案:

答案 0 :(得分:1)

添加else关键字并返回值会有效,但使用三元表达式确定要追加的列表是一种更好的方法:

def func(l):
  negatives = []
  positives = []

  for i in l:
      (positives if i >= 0 else negatives).append(i):

  return negatives,positives

也就是说,如果您将0视为正面,否则您必须将其过滤掉并且兴趣会受到限制。

答案 1 :(得分:0)

如果你可以选择使用numpy,你可以这样做。

import numpy as np

def fuc(myList):
    myList=np.array(myList)
    neg=myList[np.less(myList,0)]
    pos=myList[np.greater(myList,0)]
    return list(neg),list(pos)