我从列表中进行此练习,返回两个列表,其中一个带有正数,另一个带有负数。
我的代码:
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个列表。
答案 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)